c++和c混合编程--注释

1、CPP调用C函数和C调用CPP函数,Makefile编写思路

先g++ -c或gcc -c将cpp文件或c文件编译成.o文件

然后gcc或g++将.o和c文件或cpp文件编译成bin文件


2、CPP和C函数区别

前者__addii,表示有两个参数,分别为整形,便于多态和重载

后者__add

两者的区别导致连接时会出错


3、CPP调用C函数,Makefile示例

ccpptest:cppfile exe
cppfile:cppExample.cpp
        g++ -c cppExample.cpp -o cppExample.o
exe:
        gcc cFile.c cppExample.o -lstdc++ -o exe
clean:
        rm -f exe
        rm -f *.o


4、extern "C"作用

CPP调用C函数:extern "C"在CPP文件中,main函数在CPP文件中,作用是告诉编译器,调用的这个函数是C函数,将其编译成CPP形式的函数

C调用CPP函数:extern “C“也在CPP文件中,main函数在C文件中,作用是告诉编译器,调用的这个函数是CPP函数,将其编译成C形势的函数


5、参考资料

(1)CPP和C编译成的函数名区别

http://blog.csdn.net/david_xtd/article/details/7448313  (C和C++混合编译)

(2)编译c文件出现undefined reference to `__gxx_personality_v0'

http://blog.csdn.net/dycwahaha/article/details/2636382

猜你喜欢

转载自blog.csdn.net/braveyly/article/details/16968707