C/C++零散知识点汇总
  qrJHiMhufrJ3 2023年11月13日 22 0


1、在C++程序中调用被C编译器编译过的函数,为什么需要加上extern “C”?

C++语言支持函数重载,C语言不支持函数重载,函数被C++和C语言的不同。假设某个函数的原型为void foo(int x, int y)。该函数被C编译器编译后在哭的名字为_foo,而C++编译器会产生像_foo_ini_int之类的名字。

C++提供了C链接交换指定符号extern "C"解决名字匹配问题。

2、头文件中的ifndef/define/endif是干什么用的?

头文件中的ifndef/define/endif是条件编译的一种,除了头文件被防止重复引用(整体)。还可以防止重负定义(变量、宏或结构体)。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  k5GskpyrCqoj   2023年11月13日   31   0   0 单片机sdcc编译器
  tprTMCWDkFAR   2023年12月07日   31   0   0 头文件#include初始化
qrJHiMhufrJ3