C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字
与C 语言的不同。假设某个C函数的声明如下:
void foo(int x, int y);
该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同,C++程序不能直接调用C函数。C++提供了一个C连接交换指定符号extern“C”来解决这个问题。例如:
extern “C”
{
   void foo(int x, int y);
   … // 其它函数
}
或者写成
extern “C”
{
   #include “myheader.h”
   … // 其它C头文件
}
这就告诉C++编译译器,函数foo是个C连接,应该到库中找名字_foo而不是找_foo_int_int。C++编译器开发商已经对C标准库的头文件作了extern“C”处理,所以我们可以用#include 直接引用这些头文件。

如果C++程序要调用已经被编译后的C函数,该怎么办?相关推荐

  1. 问题-某个程序改了ICO图标后编译后还是显示老图标?

    问题现象:某个程序改了ICO图标后编译后还是显示老图标? 问题原原:可能是因为系统的缓存问题. 问题处理:把程序的EXE放在别的路径下打开就可以了. 问题相关人员:QQ253120114(朋友)  Q ...

  2. 在微信小程序中 调用前置摄像头拍照 后置摄像头拍照扫码

    1.需求:点击扫码按钮,扫描二维码识别单号    实现:  <view class="getcode" bindtap="scanCode"> &l ...

  3. c语言程序可以单独编译,c语言的函数能单独进行编译吗?

    c语言的函数能单独进行编译吗? 发布时间:2020-04-20 10:27:20 来源:亿速云 阅读:493 作者:小新 c语言的函数能单独进行编译吗?很多人都不太了解,今天小编为了让大家更加了解c语 ...

  4. [转]gcc下程序调用静态库编译命令:主文件必须在静态库前面!

    很容易犯的错误,转载以备注! 转载请注明文章地址,尊重作者赖半仙的劳动成果,谢谢支持: http://hi.baidu.com/mgqw/blog/item/0969c4230a2508559922e ...

  5. 在C++程序中调用被C编译器编译后的函数为什么要加extern“C”?

    首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编 译器,其声明的函数和变量可以在本模块或其它模块中使用. 通常,在模块的头文件中对本模块提供给其它模 ...

  6. gcc可以编译python程序吗_gcc c语言编译流程

    1 前言 最近群里讨论个C语言的小程序,看起来都不是很难,但是大家对答案有争论,所以想讨论编译原理,做嵌入式要对编译原理有一定的了解,所以转了这篇文章. 我们之前讨论的问题如下代码 #include ...

  7. linux下java调用matlab程序,linux_java调用windows_matlab程序

    0 说明 本文为研究java和matlab的混合编程,进行了详细的测试和探索,以解决linux环境下java程序调用matlab程序的一个应用. linux端的环境 :(运行java程序并调用wind ...

  8. MFC模块的动态链接库DLL以及静态链接库LIB编译后的调用

    静态链接库LIB和动态链接库DLL的区别,创建和示例   1.什么是静态连接库,什么是动态链接库   静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都 ...

  9. TI-89T 教你在C程序里调用TI-BASIC程序,看看是否有人对这个感兴趣

    2019独角兽企业重金招聘Python工程师标准>>> 教你在C 程序里调用TI-BASIC程序,看看是否有人对这个感兴趣 昨天翻TIGCC的文档,先瞅了瞅FAQ,话说我看文档有个习 ...

最新文章

  1. owaspbwa tickets
  2. mysql数据的表分区一
  3. B/S、C/S双客户类型系统研究
  4. java中使用tika_Tika基本使用
  5. 4.7 Spark SQL 数据分析流程
  6. 不能使用泛型的形参创建对象_泛型就这么简单
  7. 研磨设计模式--抽象工厂模式
  8. PyQt:1个文件选择对话框实现既可以选择文件,也可以选择文件夹
  9. c语言graphics下载,C语言_graphics.h
  10. 爱情智慧:从恋爱走向婚姻必备的理念
  11. Cortana搜索框怎么在任务栏显示?
  12. matlab x的平均值符号怎么打出来,教你在Word中输入平均数的符号X上加一横(X拔)...
  13. 红石模拟器android,Win10 Mobile红石3支持x86模拟器
  14. 2k*2k 棋盘覆盖问题
  15. 爬虫之数据保存到txt文本中
  16. matlab 滤波窗函数,FIR滤波器窗函数设计法详细步骤以及Matlab代码
  17. 【攻防世界】三、如来十三掌
  18. hadoop可能会遇到的问题
  19. PalmOS开发教程-3
  20. simple sentence to complex

热门文章

  1. JavaWeb中使用session保持用户登录状态
  2. 012_JDBC模板
  3. mysql frm和ibd怎么恢复数据库_mysql数据库通过frm和ibd恢复数据
  4. android封装网络请求界面,轻松搞定 android MVP 架构、okHttp 网络模块封装 的 项目...
  5. CentOS 迎来更新换代版本 CentOS Stream 9 附下载镜像OS地址
  6. 自动化测试报告 html模板,PyTestReport 自动化测试报告框架
  7. python用类名直接调用方法_Python类的实例方法、静态方法、类方法详解,附代码示例...
  8. 英语关于计算机的作文600字,有关电脑的作文600字
  9. html5下拉列表默认值,element-ui中的select下拉列表设置默认值方法_简单_前端开发者...
  10. NIO详解(十):FileChannel零拷贝技术