如果#include无法找到文件会发生什么
what happens if an #include fails to find file
假设我有这个非常基本的c++代码:
myCode.cpp:
#include <library1.h>
#include <library2.h>
int main() {
// use some methods from library2
}
如果我编译这段代码,但我的编译器找不到library1.h,会发生什么?它会抛出任何特定的错误吗?它还会寻找library2.h吗?它会跳过其余的#include语句,继续编译main吗?我问,因为我试图回答这个问题,其中添加一个。h文件导致编译器抱怨没有从另一个。h文件找到方法。如果没有#include第一个。h行,代码可以正确编译。
当编译器遇到include错误时,它会报告错误并停止编译。当然,可能不是所有的编译器都会报告一个人类友好的错误,但可以肯定的是,它们都会终止,因为这个错误是致命的,正如syam在他的注释中指出的那样。
如果找不到特定的#include
文件,则编译失败并停止并出现错误。编译无法继续。
#include
指令应该标识一个头文件或源文件,这个头文件或源文件可以被实现处理。
注意的使用将给编译器没有选择的余地:它必须用文件的内容替换#include
指令。如果文件不存在,则程序格式错误。
确切地说,如果它找不到文件,那么编译器将无法运行程序,如果它需要正确运行您的代码。如果您的代码访问该文件中的某些内容,则程序不会按需要运行。
相关文章:
- c++库的公共头文件中应该包含什么
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 文件系统:复制功能的速度秘诀是什么
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 在C++中包含原型文件的正确方法是什么?
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 什么文件可以修改 atom 的C++语法?
- 引用文件的适当方法是什么?
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 在C++中创建文件夹选取器对话框的最简单方法是什么?
- 生成文件"relink"意味着什么?
- 将位字符串转储到二进制文件的最佳方法是什么
- 谁能告诉我,程序中的错误是什么?该程序仅用于获取文件扩展名
- 通过boost asio iostream下载大文件的最快方法是什么?
- C++我应该用什么来保存格式化为字符串变量(如sprintf())的文件
- 如何确定g++编译器错误中缺少什么文件
- 在其他计算机 MVCP100d 中打开 EXE 需要什么文件
- 如何确定什么文件称为c++程序
- wxWidgets 2.9.1 什么文件取代了 wxmswd.lib