c++gccg++c-preprocessor

g++ -E option output


Using this option I receive files after preprocessing. There are many lines like:

# 91 "/usr/include/stdint.h" 3 4

What do the numbers mean? First I thought that #91 is the number of line where file is included, but that is not it. And about 3 4 I have no idea at all.


Solution

  • According to the official documentation, the line is of the format:

    # linenum filename flags
    

    The linenum specifies that the following line originated in filename at that line number. Then there are four flags:

    So let's interpret your linemarker:

    # 91 "/usr/include/stdint.h" 3 4
    

    The following line originated from line 91 of /usr/include/stdint.h. It is a system header file and should be treated as wrapped in extern "C".