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
分享到:
相关推荐
### 汇编程序设计与C/C++混合编程 #### 知识点概览 - **混合编程概念**:在程序开发中,特别是在系统级编程领域,常常会遇到需要使用不同编程语言的情况,以结合各自的优势。混合编程指的是在同一程序中使用两种或...
在本文中,我们将深入探讨如何在C++环境中,利用MFC(Microsoft Foundation Classes)框架与Halcon机器视觉库进行混合编程,以实现完整的图像显示功能。MFC是微软提供的一套面向对象的类库,用于简化Windows应用程序...
文章内容涵盖了Objective-C的核心概念,比如Objective-C的历史、版本、语法概览、关键字、注释、代码和声明的混合使用、新类型和值(比如BOOL、YES、NO、nil、Nil和id)、SEL类型、@encode指令、源代码组织(包括.h...
此外,文档中还涉及了C++与C语言混合编程的其他方面,例如C++中的类和C语言中的结构体如何交互,以及如何在C++程序中调用C语言的静态变量。这展示了两种语言在数据结构和变量存储上的差异及其在互调中需要特别注意的...
理解如何在C++中使用C语言的函数和结构是混合编程的重要技能。 9. **代码优化**:高质量的C++和C代码不仅要求正确,还要求高效。这涉及到对编译器优化选项的理解,以及手动优化代码的技巧。 10. **标准和最佳实践*...
2. **注释**:Objective-C支持单行注释(`//`)和多行注释(`/* */`),这与C++相似。 3. **代码与声明混合**:Objective-C允许在一个源文件中同时包含代码和声明,但通常情况下,声明部分会放在`.h`头文件中,而...
《Matlab&C++混合编程》一书的源代码集合提供了丰富的...通过深入研究这些源代码,开发者可以掌握Matlab和C++混合编程的核心技术,从而在自己的项目中灵活地结合这两者的优点,实现更高效、功能更丰富的软件解决方案。
《高质量C++/C编程指南》是一本专为学习C++和C编程语言的读者精心编写的指导书籍,尤其适合初学者和有一定基础的开发者。它深入浅出地讲解了这两种语言的核心概念、语法和最佳实践,旨在帮助读者构建扎实的编程基础...
- **K&R C**:基于Brian Kernighan和Dennis Ritchie编写的《C Programming Language》一书中描述的C语言标准。 - **ANSI C/ISO C**:由美国国家标准学会(ANSI)和国际标准化组织(ISO)制定的标准版C语言。 **1.4 ...
在C++中,尽管智能指针等现代C++特性降低了对原始指针的依赖,但理解C语言的这些基础知识仍然至关重要,特别是在进行C++与C混合编程时。 描述中提到的“高质量”编程,意味着本书可能涵盖了代码规范、错误处理、...
8. 指南可能还包含了C++与C语言的混合编程指导,因为文档中出现了C和C++混用的示例。 9. 预处理指令的使用也被提及,如#ifndef、#define、#endif,它们用于避免头文件被重复包含。 10. 代码块的构建,例如通过{}来...
### 高质量C++/C编程指南知识点梳理 #### 一、引言及背景 - **作者介绍**:林锐博士,资深软件工程师,具备丰富的软件开发与项目管理经验。 - **出版信息**:该书首次发布于2001年7月24日,版本为1.0。在此之前有...
它可能还会涉及内存管理、指针安全和混合编程时的注意事项,这些都是C++程序员必须了解的关键知识。 接下来是PDF文件——"高质量C++编程指南.pdf"。这本书的核心主题应该是C++编程的最佳实践,涵盖了标准库的使用、...
C++语言是一种强大的、广泛使用的编程语言,它结合了面向过程和面向对象的编程思想。在C++语言程序设计中,了解基本概念和程序结构至关重要。 首先,程序设计语言是解决问题的关键工具,它允许我们将数学模型转化为...
12. **C++与C混合编程**:当需要利用C库时,如何在C++项目中安全地调用C代码。 通过阅读《高质量C++ C编程指南》,读者不仅可以学习到C++和C编程的核心知识,还能了解到行业内的最佳实践,从而写出更高质量的代码,...
C++编程规范是确保代码质量和可维护性的基石。遵循这些规范可以帮助程序员编写出高效、清晰且易于理解的程序。以下是一些重要的C++编程规范的详细说明: **1. 程序的版式** - **文件结构**:应包含版权和版本信息...
在C++/C混合编程中,读者会学到如何在C++项目中调用C函数,以及C代码如何与C++代码交互。这对于利用现有C库或在两者之间进行移植的项目尤其有用。 本书还涵盖了编译器和链接器的基本知识,以及预处理器的使用,这些...
从C++到Object-C的知识点涵盖了面向对象编程语言的迁移与适应,特别是对于那些有C++背景的程序员来说,理解Objective-C语言的特点、语法和编程范式是至关重要的。接下来将详细阐述这些知识点: 1. Objective-C语言...
在编程领域,C++和C语言是两种广泛使用的高级编程语言,它们被应用于系统级编程、游戏开发、软件工程等多个领域。"高质量C++/C编程指南"旨在提供一套全面的规则和最佳实践,帮助开发者编写出高效、可读、可维护的...