社区
C++ 语言
帖子详情
什么时候需要用extern "C"
zero_226
2010-08-23 07:42:19
rt,我见的比较多的是在写dll的时候,可是实在不知道具体应该在什么时候用
...全文
761
5
打赏
收藏
什么时候需要用extern "C"
rt,我见的比较多的是在写dll的时候,可是实在不知道具体应该在什么时候用
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
九度空间
2010-08-23
打赏
举报
回复
看c++编程思想
里面很详细
yzx714
2010-08-23
打赏
举报
回复
在开发连接库的时候
mymtom
2010-08-23
打赏
举报
回复
Name Mangling
http://en.wikipedia.org/wiki/Name_mangling
「已注销」
2010-08-23
打赏
举报
回复
首先你要明白extern "C"是给C++编译器用的,C编译器不懂这东西。
用处:
1 你用C++开发DLL,但需要输出C的符号,这个时候写这个,别的C++源程序引入你的这个头的时候,就找对符号了。
2 你用C开发DLL,但这个DLL需要给C++用,那么,你就用条件编译,当C++引入你这个头的时候,条件编译为extern "C"而C引入你这个头的时候,条件编译为extern ,这样一来你可以让两种编译器都可以使用你的头了。
摩尔信使MThings
2010-08-23
打赏
举报
回复
http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html
推荐你看看这篇博客。。
【C++】
extern
“C“ 和
extern
深度探索
本文介绍了C和C++中
extern
关键字的用法及其在链接阶段的作用。
extern
用于声明在其他文件中定义的全局变量或函数,实现跨文件共享。
extern
"C"则是C++特有的用法,用于指示编译器按照C语言的链接规则处理代码,解决C++与C语言的链接兼容性问题,避免名称修饰带来的链接错误。文章还探讨了
extern
在修饰const变量时的注意事项,以及
extern
"C"影响本文件符号导出的细节。此外,还讨论了
extern
"C"对普通类型和C++类型符号导出的影响,以及
extern
"C"的正确使用方式。
关于FOUNDATION_
EXTERN
、
extern
、FOUNDATION_EXPORT、
extern
"C"的区别
大家都知道Xcode的编译器是能够识别C++语言编程代码的,所以在编程中也是要考虑到C++的 首先直接上代码看一下几种宏的定义 #if defined(__cplusplus) #define FOUNDATION_
EXTERN
extern
"C" #else #define FOUNDATION_
EXTERN
extern
#endif 由以上定义可以看出 FOUNDATION_
C
extern
++中
extern
- - 作者:宋宝华 e-mail:21cnbao@21cn.com 出处:太平洋电脑网1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称
C语言中
extern
的用法
C语言中
extern
的用法 局部变量与全局变量 一个源文件可以包含一个或多个函数,在函数内定义的变量是局部变量。在函数之外定义的变量称为外部变量,即全局变量,全局变量可以为本文中的其他函数共用,它的有效范围为定义变量的位置开始到本源文件结束。
extern
关键字用法 如果全局变量不在文件的开头定义,其有效的范围为其定义处到文件结束。如果想在定义点之前的函数引用该全局变量,则要在引用之前用关键字
extern
对该变量作“外部变量声明”,即表示该变量是一个已经定义的外部变量。这样就可以从声明处其,使用该外
extern
C作用总结
extern
C使用主要用与在C++代码中调用的C函数的声明,或C++中编译的函数要在C中调用,也即是导入C形式的函数库或者提供C类型的库给C调用,
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章