社区
C语言
帖子详情
extern "C" {//...} 是什么意思啊?
radioheads
2004-08-23 10:43:23
rt
...全文
154
8
打赏
收藏
extern "C" {//...} 是什么意思啊?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zengcity
2004-10-17
打赏
举报
回复
哦~
shadowWind
2004-09-21
打赏
举报
回复
mark
lloyd_wu
2004-08-23
打赏
举报
回复
受教了!
befree
2004-08-23
打赏
举报
回复
楼上正确,是教科书的说法
编译器的名字引用
DigitalRabbit2000
2004-08-23
打赏
举报
回复
如果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 直接引用这些头文件。
hotmail1981
2004-08-23
打赏
举报
回复
如果你在c++中使用c的语句,就必须把c的语句放入extern "C" {//...}格式 的{ }中
zqpsswh
2004-08-23
打赏
举报
回复
声明是C文件而不是C++
qwertasdfg123
2004-08-23
打赏
举报
回复
extern "C"用在C++里表示,被其修饰的函数,类,结构在编译时按照C的编译规则进行.
免费下载:C语言难点分析整理.doc
73. C和C++的区别是什么? 387 74. 无条件循环 388 75. 产生随机数的方法 389 76. 顺序表及其操作 390 77. 单链表的实现及其操作 391 78. 双向链表 395 79. 程序员数据结构笔记 399 80. Hashtable和HashMap的区别 ...
C语言
extern
关键字用法和理解
extern
表明变量或者函数是定义在其他其他文件中的 例如:
extern
int a; 显式的说明了a的存储空间是在程序的其他地方分配的,在文件中其他位置或者其他文件中寻找a这个变量。 用法 一个c文件需要调用另一个c...
《C深度解析》第7、8章 结构体/共用体/枚举,杂项(自动类型转换、大小端序等)
第7章: 1. 结构体 结构体定义、访问、传参,结构体对齐(offsetof宏... 枚举 第8章: 自动类型转换、大小端序、typedef、编译器优化、
extern
"C"、程序调试、变参函数、do{}while(0)、内嵌汇编、调试版与发行版、断言
再论
extern
“C”:C++代码调用C代码
我昨天分享了一篇文章:C++项目中的
extern
“C” {} ,作者网址是:http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html。后来感觉这篇文章中有的地方和自己的认识不同。就重新写一篇吧。重点在C++代码...
C语言
extern
详解必懂
一、首先,
extern
是关于声明的关键字: 变量的声明有两种情况: 1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。 2、另一种是不需要建立存储空间的,通过使用
extern
关键字声明变量名...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章