c++和c混合编程--注释
2013-11-26 18:14
267 查看
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
先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
相关文章推荐
- 使用#ifdef _cplusplus 实现c 和 c++的混合编程
- matlab c++ 混合编程初始设置
- extern "C" : C++和C的混合编程
- C/C++ 与 C#混合编程
- matlab和c++混合编程---方法和步骤
- 使用JNI进行混合编程:在Java中调用C/C++本地库
- 基础知识(二)matlab与c++混合编程之经验笔记
- extern "C" 实现C++ 与 C的混合编程
- c++和cuda混合编程记录二
- C++与Python的混合编程-环境配置与调用无参函数
- Matlab与C++接口与混合编程讨论小结
- 怎样删除C/C++代码中的所有注释?浅谈状态机的编程思想
- 使用JNI进行混合编程:在C/C++中调用Java代码
- 【转】C++与Java混合编程
- C/C++ 在 Java 项目、Android 和 Objective-C 三大平台下实现混合编程
- matlab c++ 混合编程初始设置
- C#与C++的混合编程
- C++与Python的混合编程-调用有参函数以及C++数据类型与Python数据类型间的转换
- c++版本的高斯混合模型的源代码完全注释
- 混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++