#include也表示使用吗?
Does #include also mean Use
我想知道#include
是否也意味着"使用"。如果没有,请告诉我编译器将如何处理额外的文件,包括函数?如果是,这是否意味着它们在输出PE中分配了内存?
#include "file.h"
告诉预处理器打开file.h
并将该文件的内容与当前写入#include "file.h"
的文件合并。
也就是说,如果您有两个文件:
//file.h
extern int x;
//file.cpp
#include "file.h"
int x;
void f()
{
x = 10;
}
预处理器将file.h
的内容复制到file.cpp
,如下:
extern int x; //came from file.h
int x;
void f()
{
x = 10;
}
Include表示打开文件名为Include参数的文件,并(实际上)将其文本放入当前文件中。编译器将以相同的方式工作,就好像所有文件合并成一个文件。
所以,在大多数情况下,包含的文件是头文件。它们被用来声明函数、宏、类、外部变量;因此,您可以在几个源文件(例如src1.c
, src2.c
)中包含头文件(例如file.h
),并且在两个源文件中,您将拥有相同的预定义函数/类/extern函数集。
Include只是复制被包含文件的内容,作为编译的第一阶段。(预处理程序)。这通常用于添加头文件,但也可用于包含任何其他类型的文件。因此,它通常用于添加带有内联代码的文件。有时在开发代码时,您可能希望在。
中包含另一个包含代码的文件。#include <header.h>
#include <inlines.inl>
#include "testcode.cpp"
相关文章:
- 表示"accepting anything for this template argument" C++概念的通配符
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 既然存在危险,为什么项目要使用-I include开关
- 如何将ampl中的集合表示为c++中的向量
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- 如何将更多文件夹添加到c++include路径
- 什么是"#include <boost/functional/hash.hpp> "?
- std::is_base_of表示ctor编译错误
- #include "date.h" 创建错误 E1696 无法打开源文件"date.h",也无法打开包含文件:没有这样的文件或目录
- 哪些编译器可以使用 #include <thread> ,或者换句话说,支持也免费的C++ 11?
- 我是否应该对C++包含目录进行符号链接,以便它也出现在 /usr/include 下
- 将文件从客户端传输到服务器时缺少字节,字节值也表示一些控制字符
- 提供的头文件不会 #include <string> ,也不允许更改。如何将其包含在我的 cpp 文件中?
- for循环需要运行LLONG_MAX次数,但是计数器变量也需要表示有符号的数字.你用什么类型的柜台?
- #include也表示使用吗?
- 如何格式化浮点值,使其从不使用指数表示法,也不具有尾随零
- 使用'include wrapper'是否被认为是不良做法/表示设计不佳?
- 在我的项目中使用预编译的头(clang/llvm,但也使用gcc).如何在make中部署-include选项