extern“C”声明的作用

转载 2004年07月17日 13:40:00
因为  C  语言和  C++  语言的编译规则不一样,所以要告诉系统哪些函数是用  C  方式编译,哪些函数需要用  C++  方式编译。  
如果你不加  extern  "C"  ,在编译时,系统会提示找不到此函数。  
 
---------------------------------------------------------------  
 
extern  "C"表示编译生成的内部符号名使用C约定  
例如:  
int  Fun(int  i,int  j)  
C:_Fun  
C++:_Fun_int_int  
具体生成什么可能与编译器有关  
由于C++支持重载,而重载是在编译期确定的,所以C++必须在内部符号名上区分各重载函数,所以就将参数类型加在函数名后。

extern C作用总结

extern C使用主要用与在C++代码中调用的C函数的声明,或C++中编译的函数要在C中调用,也即是导入C形式的函数库或者提供C类型的库给C调用,...
  • wangjiaoyu250
  • wangjiaoyu250
  • 2015年01月17日 19:48
  • 1321

变量的声明和定义的关系、extern关键字的使用

变量声明规定了变量的名字和类型,定义还申请存储空间,也可能会为变量赋一初值。 注意: 变量可以声明很多次,但定义只能定义一次,否则编译器将会报错。 在编写复杂程序时,会有许多文件,需要有...
  • xiaoyuxianshenging
  • xiaoyuxianshenging
  • 2017年02月10日 10:28
  • 710

C语言中声明和定义的区别——分析extern关键词。

一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的。 定义和声明的区别(主要针对变量): 定义是要为变量分配存储空间,还可以在定义的时候为变量指定...
  • littledouble
  • littledouble
  • 2015年06月03日 08:28
  • 1678

结构体的声明(extern)与调用的方式

结构体的声明(extern)与调用的方式   转载▼ 这几天写液晶字库索引时发现一个问题,本来想在.h文件中这样定义:   // ----------------...
  • chrovery
  • chrovery
  • 2014年09月03日 11:52
  • 3208

C语言中使用extern修饰函数要注意(转)

用extern修饰函数是表示被修饰的函数定义在当前文件外,而该函数用extern声明类型后就可以被当前文件调用了。使用extern修饰某函数时,对该函数的调用是在连接阶段才被处理的。下面我们看一段代码...
  • farmwang
  • farmwang
  • 2015年12月06日 15:43
  • 1187

C语言中的const、extern及结构体、联合体的定义

Const Const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子就...
  • u011392772
  • u011392772
  • 2015年08月21日 09:38
  • 2522

定义和声明以及extern、static关键字

1. 定义只能进行一次,声明可以多次。 2. 变量定义是为变量分配存储空间,也可以初始化,不初始化的定义如:int i; 3. 声明是表明变量的类型和名称,因此定义也是声明。 4 ....
  • cj19920421
  • cj19920421
  • 2016年07月24日 16:53
  • 637

老生常谈extern数组与extern指针

见了皓哥http://coolshell.cn/articles/945.html/comment-page-3#comment-510465中的第五题: //file1.c int arr...
  • honghuzhilangzixin
  • honghuzhilangzixin
  • 2013年05月30日 10:24
  • 2157

再谈下声明、定义、初始化、赋值和extern

虽然定义也是声明,但为了方便说明问题,下文中的声明只是单纯的声明,定义就只是定义。 1.      声明、定义、初始化和赋值四个术语有着本质的不同,虽然有时候看起来差不多甚至完全一样,但如果不搞清楚...
  • internet_register
  • internet_register
  • 2015年04月12日 12:11
  • 1068

C++学习笔记(初级篇)——作用域与“extern”关键字

作用域,顾名思义,就是指某个标识符在程序中的有效区域。 在C++中,按作用域的大小,一般可分为局部作用域和全局作用域。 1.局部作用域 局部作用域用大括号,即{},来定义,大括号括起来的范围就是一个局...
  • Dr_Neo
  • Dr_Neo
  • 2015年12月11日 19:17
  • 1101
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:extern“C”声明的作用
举报原因:
原因补充:

(最多只允许输入30个字)