我正在为SDL/OpenGL程序构建makefile。在查看SDL2.0示例的Makefile时,我会看到编译器标志,例如DHAVE_OPENGL和D_REENTRANT。在gcc的man手册中没有任何地方可以找到这些标志中的任何一个的信息。在互联网/我的系统上,我可以找到有关gcc支持的所有标志的文档?编译器gcc编译器标志的文档?
1
A
回答
2
-D选项用于不定义特定的编译器标志,但是用于pass macro definitions to the preprocessor。
确实-DHAVE_OPENGL
就像在您的源代码中有#define HAVE_OPENGL 1
。所以它们与编译器本身无关,只是与编译的代码有关。
Here你可以找到在任何情况下GCC选项的综合文档。
1
那些不是编译器标记本身。 -D
是一个编译器标志,但接下来是预处理器定义。你不会找到什么那些在编译文档意味着任何信息,因为它会影响实际代码您正在构建的行为(例如,其在编译过程中实际包含的代码的部分)。
因此,不幸的,只有这样,你才会知道什么定义这些预处理器令牌会做的是,如果你研究你编译源代码,或者如果库您正在使用的文件他们。然而
一般来说,HAVE_OPENGL
让SDL知道编译GL相关的代码。
重入是用于线程安全的,尽管_REENTRANT
不是标准的预处理器定义(虽然通常用于某些C stdlib实现),但假设它会导致您的软件选择重定向,尽可能进入功能的版本。
相关问题
- 1. GCC编译器标志“-DEVAL”
- 2. GCC编译器标志:-lg2c -lgfortran
- 3. 编译编译器错误编译GCC
- 4. g ++等效的编译器标志到VC++编译器标志
- 5. 覆盖GCC编译标志
- 6. Objective-C编译器标志
- 7. 编译器标志在Eclipse
- 8. C++编译器标志11
- 9. Cython OpenMP编译器标志
- 10. ocaml的编译器文档
- 11. 旧的gcc编译器
- 12. GCC编译器的问题
- 13. 由arm-gcc编译器编译的c代码的头文件
- 14. GCC VS MSVS编译器
- 15. Android GCC编译器更改
- 16. GCC编译器问题
- 17. GNU GCC编译器更新
- 18. GCC编译器错误
- 19. 找不到gcc编译器
- 20. Eclipse Juno - GCC编译器pthread
- 21. OIS GCC编译器错误
- 22. GCC编译器错误
- 23. 最小GCC C++编译器
- 24. C89 vs c99 GCC编译器
- 25. 使MSVC编译器GCC complient?
- 26. 编译器如何编译编译器?
- 27. 等同于gcc编译器的pgcc“-Minfo =”标志?
- 28. 所有的gcc编译器都支持@FILE标志吗?
- 29. 检查编译器是gcc/mingw还是VC++ cl的标志?
- 30. #ifdef标志告诉gcc和g ++编译器之间的区别?