如果头文件中有一些#define
,它是否可用于包含该头文件的源代码? [类似于#define Bytef unsigned int
]是否从头文件继承#define(预处理器指令)
-3
A
回答
1
是的,你可以做到这一点。包括作品如下:
想象你有一个文件。
header.h
内容:
void HappyMakerPrototype();
void AnotherPrototype();
和源文件
src.c
内容:
void dummydec();
#include "header.h"
void main()
{
return;
}
在汇编它将通过预处理运行的第一步骤。
这里的include行只是被包含文件的所有内容所取代。
,这样,如果你需要一个输出预处理后的文件时,它看起来像:
(在GCC和铿锵编译器,你可以请求与参数-E
预处理的文件我想,这将有助于你理解)
void dummydec();
void HappyMakerPrototype();
void AnotherPrototype();
void main()
{
return;
}
0
是的,你可以做。当您包含该头文件时,它将继承该头中的所有内容。所以你可以使用这个宏。
0
是的。包含一个文件与您在#include
指令的确切位置复制并粘贴头文件的内容相同。
相关问题
- 1. 是否有预处理器“AND”指令
- 2. 在C#中的#if中使用#define预处理器指令是否有效#
- 3. 以奇怪的方式使用#define预处理器指令
- 4. 是否有预处理器选项在头文件被预处理时显示?
- 5. C++ #define预处理器
- 6. C#预处理器指令
- 7. Gfortran预处理器指令
- 8. VB.NET预处理器指令
- 9. DDK预处理器指令
- 10. 如何通过预处理器指令检查编程是否在Visual C++中需要预编译头文件?
- 11. make文件预处理指令
- 12. 预处理器指令是否仅适用于写入的文件?
- 13. fortran中是否有类似C中的预处理器指令?
- 14. 预处理器指令是否影响OpenCL内核性能?
- 15. F#中的预处理器指令缩进是否敏感?
- 16. 预处理器指令中的行是否正确?
- 17. 是否有预处理器指令使XCode构建失败?
- 18. 是否存在处理预处理器指令并给出实际预处理器输出的工具?
- 19. 是否可以使用XPath从处理指令('define')中提取值?
- 20. 嵌入式文本文件中的C#预处理器指令
- 21. #define预处理器的范围C
- 22. C预处理器:#define in C ...咨询
- 23. 预处理器指令:#elif未定义?
- 24. C#预处理器指令范围
- 25. 预处理器指令conio.h C++
- 26. 个人预处理器指令
- 27. clBuildProgram的多个预处理器指令
- 28. 脚本#预处理器指令?
- 29. C预处理器指令和链接
- 30. nuget库中的预处理器指令
这不是个好问题。你为什么问?你试过了吗? – 2014-12-19 09:12:20
@SouravGhosh我正在修复一个错误。在zlib的更新日志中,我发现使用define更改typedef。所以我认为改变是定义的,因为我们需要在源代码中添加“define”。我试图谷歌认为是继承定义,无法找到结果。所以我想我应该问 – 2014-12-19 09:14:04
预处理器将用包含文件的内容替换'#include'指令。我建议你尝试一下查看预处理源。 – 2014-12-19 09:14:52