用到C和C++的混合编程,本来以为很简单,但是没想到还费了一点儿时间。这里做点儿总结。
1、如果是C的部分,就用gcc -c -o xxx.o xxx.c
是C++的部分就用g++ -c -o xxx.o xxx.cpp
C++部分如果要使用C的部分需要用
extern “C”{
}
2、例如我这里有几个文件,a.cpp a.h b.h c.c c.h d.c d.h
这里的包含关系是:a.cpp里有main,a.h用到b.h里面的类,b.h中用到c.h中声明的函数,其中b.h中是c++代码
c.h用到d.h中声明的函数
这里makeFile是这样写的:
a:a.o c.o d.o
g++ -o a a.o c.o d.o
a.o:a.cpp a.h b.h c.o
g++ -c -o a.o a.cpp
c.o:c.c c.h d.o
gcc -c -o c.o c.c
d.o:d.c d.h
gcc -c -o $@ $<