GCC的documentation for #line
directives说,他们是这样的:
#line "myfile.cpp" 123
但是当我使用g ++ 5.1检查输出时,它们实际上是这样显示的:
# 1 "/a/include/boost/multi_array/extent_range.hpp" 1
# 16 "/a/include/boost/multi_array/extent_range.hpp"
# 1 "/pool2/ap/gcc/5.1.0/include/c++/5.1.0/utility" 1 3
# 58 "/pool2/ap/gcc/5.1.0/include/c++/5.1.0/utility" 3
# 59 "/pool2/ap/gcc/5.1.0/include/c++/5.1.0/utility" 3
# 68 "/pool2/ap/gcc/5.1.0/include/c++/5.1.0/utility" 3
# 1 "/pool2/ap/gcc/5.1.0/include/c++/5.1.0/x86_64-redhat-linux/bits/c++config.h" 1 3
# 194 "/pool2/ap/gcc/5.1.0/include/c++/5.1.0/x86_64-redhat-linux/bits/c++config.h" 3
是否有这种格式的文档?
答案 0 :(得分:0)
它记录在不同的部分:https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
这些标志用于创建包含堆栈以改善错误输出。