在编译源文件时,C编译器和C++编译器都会对符号(函数或变量)名作某些修正,但两者采用的修正方法不同,所以两者生成的目标文件不能互相链接。
     在C++中使用extern "C"可以让C++符号获得C链接特性。由于C++编译器会自动定义__cplusplus宏,所以在C语言头文件中采用这种结构可以保证无论使用何种编译器,生成的目标文件都具有C链接特性,能够与标准C编译器所生成的目标文件相链接。通常c/c++编译器会根据文件后缀来选择符号修正,所以最好把c的代码放到.c文件中,把c++的代码放到.cpp文件中。
     用VC++6.0创建动态库
     在test.cpp中输出c函数,如下:
           1、新建Win32 Dynamic-Link Library
           2、输出函数extern "C" _declspec(dllexport) void far test(); void far test(){ }
    而在test.c中输出c函数,就可以这样,如下:
           1、新建Win32 Dynamic-Link Library
           2、输出函数_declspec(dllexport) ...

.c文件与.cpp文件区别相关推荐

  1. C程序保存为.c文件和.cpp文件的区别

    在学习数据结构时,看到老师把C语言和C++混用,并将文件保存为.cpp类型.关于.c文件和.cpp文件的区别,以下是我的一点看法: 1.首先应该明白,C++是在C语言的基础上拓展而来的,因此C++的语 ...

  2. c语言中.h文件和.cpp文件解析

    理论上来说cpp文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体实现,任何一个cpp文件包含此头文件就可以将这个函数编译成目标文件的一部分(编译是以cpp文件为 ...

  3. Qt 生成 ui 对应的 h 文件和 cpp 文件的方法

    2018-04-04 创建人:Ruo_Xiao 开发环境:Qt 5.2.1 邮箱:xclsoftware@163.com 将ui文件copy到uic.exe同一目录下(qt的安装目录中bin下). 打 ...

  4. Ardunino——面向对象语言学习篇5——.h文件和.cpp文件(制作Arduino类库)

    学习自:太极创客. 实践是检验真理的唯一标准,通过arduino进行实践学习C++或许是一个不错的选择. 前篇回顾   前篇学习了构造函数与析构函数,总体来说就是对象创建和消失时候要执行得函数. 前提 ...

  5. C++——如何理解.h文件和.cpp文件

    这篇文章是之前摘的笔记放在电脑里,忘记在哪看到的了,就当是原创哈哈哈哈 建立一个以类为名字的XX.h文件,声明类,再建立一个相同名字的XX.cpp文件(要#include "XX.h&quo ...

  6. .h文件和.cpp文件组织结构

    1.包含关系: .h文件一般包含在.cpp文件中,.h文件中多为变量和类的声明,而.cpp文件才是变量和类中函数的真正定义. 但是#include <iostream> 这个文件既不是.c ...

  7. C++ .h(头文件) 与 .cpp(源文件) 的使用

    .h 文件: .h是头文件 ,里面主要是写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等, 注意.h文件写的时候有特定的格式就是开头和结尾 #ifndef TEST_HEAD ...

  8. C++中头文件(.h)和源文件(.cpp)都应该写些什么

    原文出处:https://www.cnblogs.com/fenghuan/p/4794514.html 头文件(.h): 写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等, ...

  9. .c和.cpp的区别

    ❤️强烈推荐人工智能学习网站❤️ .c和.cpp的大致区别很明显就能看出来,一个表示C的源程序,一个表示C++的源程序,那么我们今天结合gcc/g++来看一下它们的区别. 代码: [xxx@local ...

最新文章

  1. Android 测量调用方法耗时的方法
  2. 《Arduino计算机视觉编程》一3.3 总结
  3. mysql数据库优化教程_mysql数据库索引优化学习教程
  4. win11为何七代酷睿无法升级 Windows11七代酷睿无法升级的解答
  5. linux的守护进程init.d和xinetd.d
  6. cesium label和billboard 的一些配置注释
  7. 中国SaaS产品成功四要素和四层次
  8. Photoshop教程8000例。平时想做的各种效果完整郎阔!
  9. **遇到“Cannot create file “不要慌**
  10. 新浪sina gitlab邮件收不到
  11. Matlab矩阵的定义与构建
  12. Spark RDD 论文详解(一)摘要和介绍
  13. 人生不止当下,还要注重未来!
  14. PM面试集:常见问题及解题思路
  15. 利用场景法设计atm自动取款机的测试用例_atm自动取款机的测试用例
  16. 【抢鲜体验 】DAYU200更多样例来袭
  17. c++ -- 析构函数
  18. python排版word文档命令方法大全_教你怎么使用Python对word文档进行操作
  19. 【问题总结】怎么确定多元隐函数谁是自变量谁是因变量?
  20. 被阿里收购的都没有好下场? 一文读懂腾讯和阿里的投资逻辑!

热门文章

  1. Windows网络编程-简单的多线程聊天室
  2. 什么是 API 安全?详细解析
  3. ChatGPT神奇应用:定制化学习体验,get专属家教
  4. perl常用环境变量(转帖)
  5. 基于Python的Solidworks二次开发小尝试(一)
  6. Taro微信小程序 实现下拉、触底刷新
  7. 万字长文细说工业缺陷检测
  8. 数字化转型走基层:东呈国际集团重新定义中国酒店行业发展
  9. 公众号文章用哪个网站制作最简单?
  10. 国产 MCU AT32F403A 替换 STM32F103 can通讯测试