gcc -E *.c/*.h > *.txt
g++ -E *.cpp/*.h > *.txt
举例:
a.cpp 内容如下:
#include <iostream>
#include <string.h>
using namespace std;
#define TEST_GROUP_BASE(testGroup, baseclass) \
int externTestGroup##testGroup = 0; \
struct TEST_GROUP_##CppUTestGroup##testGroup : public baseclass
#define TEST_GROUP_BASE2(testgroup,baseclass) \
int wgwtesgt##testgroup = 0;\
struct TEST_GROUP_##wgw##testgroup :public baseclass
int main()
{
TEST_GROUP_BASE2(12,34){};
return 0;
}
使用g++ -E a.cpp > a.txt
打开a.txt
using namespace std;
# 14 "macro.cpp"
int main()
{
int wgwtesgt12 = 0; struct TEST_GROUP_wgw12 :public 34{};
return 0;
}