我有 2 个文件作为 qwe.h
#ifndef QWE_H
#define QWE_H
//#include <iostream>
int asd();
#endif
qwe.cc
#include "qwe.h"
int asd()
{
std::cout<<"asdasd";
}
仅作为 g++ -E qwe.cpp > op4
运行预处理器
给出以下输出
# 1 "qwe.cpp"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "qwe.cpp"
# 1 "qwe.h" 1
int asd();
# 2 "qwe.cpp" 2
int asd()
{
std::cout<<"asdasd";
}
预处理器输出不应该是有效的 C/C++ 文件吗? 语句“# int string int”的含义是什么
最佳答案
它们是行号,用于跟踪文件在其他文件中的位置,这在生成编译器警告和错误时很有用。
参见 this article在维基百科上。
关于c++ - 预处理器输出文件是否为有效的 C/C++ 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527099/