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有没有关于这种格式的文档?
发布于 2019-11-14 17:18:13
它在不同的部分中进行了记录:https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
这些标志用于创建包含的堆栈,以改善错误输出。
https://stackoverflow.com/questions/52181929
复制相似问题