g++ -E option output
c++, c-preprocessor, compiler-construction, g++, gcc
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:
- `1` - Start of a new file
- `2` - Returning to a file
- `3` - System header file
- `4` - Treat as being wrapped in `extern "C"`
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"`.
Problem
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.