VS 无法打开源文件 new.h
时间: 2023-12-14 09:05:02 浏览: 61
在 Visual Studio 中,new.h不是标准C++头文件之一,而是 Microsoft Visual C++ 特定的头文件。它包含了一些与内存分配和释放相关的函数和宏定义。
如果您的代码中包含了#include <new.h>而出现了“无法打开源文件”的错误,则可能是因为您的 Visual Studio 安装不完整或者您的工程设置不正确。您可以尝试以下步骤解决此问题:
1. 确保您的 Visual Studio 安装完整。您可以通过重新安装 Visual Studio 或者安装 Visual Studio 的最新更新来修复此问题。
2. 确认您的工程设置正确。您可以在 Visual Studio 的“项目属性”中检查您的头文件目录设置是否正确。
3. 如果您的代码依赖于 new.h 中的函数或宏定义,您可以尝试使用其他标准头文件来替代,在代码中删除 #include <new.h>,并添加 #include <new>。
希望这些解决方案可以帮助您解决问题。
相关问题
VS无法打开源文件bits/stdc++.h
VS中无法打开源文件bits/stdc++.h通常是因为该头文件不是标准C++头文件,而是GNU C++编译器的一个扩展头文件。因此,如果你想在VS中使用bits/stdc++.h头文件,你需要手动将该头文件添加到你的项目中。以下是一些步骤:
1. 打开一个文本编辑器,将以下代码复制并粘贴到新文件中:
```cpp
#ifndef BITS_STDCPP_H_INCLUDED
#define BITS_STDCPP_H_INCLUDED
#include <algorithm>
#include <bitset>
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <complex>
#include <csignal>
#include <csetjmp>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <cwchar>
#include <cwctype>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#endif // BITS_STDCPP_H_INCLUDED
```
2. 将该文件保存为stdc++.h。
3. 将stdc++.h文件复制到你的项目文件夹中。
4. 在VS中打开你的项目,右键单击项目名称,选择“属性”。
5. 在属性窗口中,选择“C/C++” -> “常规”。
6. 在“附加包含目录”字段中添加stdc++.h文件所在的文件夹路径。
7. 点击“应用”和“确定”按钮,保存更改。
现在,你应该能够在VS中使用bits/stdc++.h头文件了。如果你仍然无法使用该头文件,你可以尝试使用其他标准C++头文件来代替它。
VS2008,没有tar.h
如果你在 VS2008 中没有 tar.h 文件,你可以使用第三方库来解压 tar 文件,比如 libarchive。下面是解压 tar 文件的基本步骤:
1. 首先,去官网下载并安装 libarchive 库,下载地址:https://www.libarchive.org/
2. 在 VS2008 项目中添加 libarchive 库的头文件和库文件。具体操作方法如下:
(1)在项目属性中,选择 "VC++ 目录" 选项卡,添加头文件目录和库文件目录。
(2)在项目属性中,选择 "链接器" 选项卡,添加库文件名称 "libarchive.lib"。
3. 然后在你的项目源代码中,使用以下代码来解压 tar 文件:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <archive.h>
#include <archive_entry.h>
int extract_tar(const char *filename) {
struct archive *a;
struct archive_entry *entry;
int r;
a = archive_read_new();
archive_read_support_filter_all(a);
archive_read_support_format_all(a);
r = archive_read_open_filename(a, filename, 10240);
if (r != ARCHIVE_OK) {
printf("Error: could not open %s\n", filename);
return -1;
}
while (archive_read_next_header(a, &entry) == ARCHIVE_OK) {
const char *entryname = archive_entry_pathname(entry);
printf("%s\n", entryname);
archive_read_data_skip(a);
}
archive_read_close(a);
archive_read_free(a);
return 0;
}
int main(int argc, char **argv) {
if (argc < 2) {
printf("Usage: %s <tarfile>\n", argv[0]);
return -1;
}
extract_tar(argv[1]);
return 0;
}
```
4. 将需要解压的 tar 文件放入你的项目目录中。
5. 在 VS2008 中打开命令行窗口,并转到你的项目目录中。
6. 在命令行中输入以下命令来编译你的源文件:
```
cl extract_tar.c -larchive
```
7. 运行编译后的可执行文件,并在命令行中输入需要解压的 tar 文件名,例如:
```
extract_tar.exe example.tar
```
8. 执行命令后,程序会输出 tar 文件中包含的文件名列表。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)