c语言中extern的意思是什么??

库函数为什么不需要 extern???

extern是不是指调用不在库中,但是在其他obj文件中的函数时需要加的??
hxc229859154 :你都include的,还用extern????????

extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。

extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:

文档A.cpp调用a.c里面的变量i和函数callme()

拓展资料

1、可以通过把原函数名与参数信息结合,产生一个独特的内部名字,这种技术叫做名字修饰(Name Mangling)。名字修饰规则没有一个标准,所以不同的编译器的名字修饰规则也不一样。

下面是一组函数,其中f()函数重载了:

f(void)和f(int)是不同的函数,除了函数名相同以外没有任何关系。当生成obj目标文件时,为了区分它们,C++编译器根据参数信息进行了名字修饰:

2、C语言中没有名字修饰(Name Mangling),因为C语言不支持函数重载。但是如果C++中含有C代码,在编译时C++编译器对C代码的函数也会进行名字修饰,函数名变了以后,将导致在C运行库中找不到对应函数,发生链接错误。

为了防止C++编译器对C代码进行名字修饰,我们将C代码用extern “C”进行链接指定,告诉编译器,在生成中间文件时,不要对这部分代码进行名字修饰,而是生成符合C规则的中间符号名。

添加了extern “C”链接指示后,上面的代码就能够正常运行了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-02
extern是全局变量声明
只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)

若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下

例如 #include "my_Fun.c"
extern int b;//b是在my_Fun.c中声明了的一个全局变量

这个extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错)

这样在 工程的总头文件中就不需要考虑 先#include 哪个文件了本回答被提问者采纳
第2个回答  2013-03-04
include是把整个都加载其中,包括文件里的所有的函数和变量。而采用extern只需要把需要的变量引用进来。这样可以保证执行效率,及资源节约!
第3个回答  2009-09-11
我只知道C++兼容C语言的时候用extern其他情况还没研究。
第4个回答  2009-09-11
extern 是声明。在链接时链接源函数体。

c语言中extern的意思是什么?
C语言中extern的含义是外部引用。以下是针对该关键词的 一、基本定义 在C语言中,`extern`是一个关键字,主要用于声明一个变量或函数是在其他文件中定义的。通过使用`extern`关键字,我们可以告诉编译器该变量或函数在其他地方已经定义,这里只是引用。这样,在编译时,编译器会确保链接到正确的位置以获取...

c语言中extern的意思是什么??
C语言中extern的含义是外部变量声明。详细解释如下:1. extern的基本含义 在C语言中,extern关键字用于声明一个变量是在其他文件中定义的。通过使用extern关键字,可以在当前文件中引用在其他地方定义的变量。这意味着,你可以在一个文件中声明一个变量,并在另一个文件中定义和初始化它。这使得代码的组织...

extern在c语言中是什么意思?
总的来说,extern关键字在C语言中用于指示一个变量或函数是在其他文件或模块中定义的,这在大型项目中促进代码的组织和模块化开发时非常有用。通过使用extern,程序员可以在不同的文件中共享数据和功能,从而提高代码的可维护性和重用性。

c语言中的extern什么意思
extern是全局变量声明,只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下。 例如 #include "my_Fun.c" extern int b;\/\/b是在my_Fun.c中声明了的一个全局变 ...

在C语言中头文件的extern是什么意思呢?
是一个修饰符,在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量\/函数是在别处定义的,要在此处引用”。extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。在头文件中声明...

C语言中extern的意思是什么?
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:文档A.cpp...

c语言中extern在函数声明中是什么意思?
详细解释如下:1. extern关键字的基本含义 在C语言中,extern关键字用于声明变量或函数,表示该变量或函数的实际存储或实现在其他地方,但可以在当前文件中使用。简单来说,extern就是一种声明机制,告诉编译器该变量或函数在其他地方已经定义,这里只是引用。2. 在函数声明中的应用 当我们在一个文件中...

c语言中的extern是什么,有什么作用啊?
在C语言中,extern是一个关键字,它的主要作用是标识函数或变量的定义在当前编译单元之外。具体来说,它有以下两个应用场景:首先,当你在某个C文件中声明一个函数,如:extern void add(int x, int y);,这意味着这个函数的实现并不在这个文件里,而是在另一个文件中定义。这样做有助于代码的...

c语言extern
在C语言中,`extern`是一个存储类说明符,它告诉编译器某个变量或函数是在其他地方定义的,而不是在当前文件中。这对于模块化编程非常有用,允许开发者将代码拆分成多个文件以提高可读性和维护性。关于变量的声明:当你在头文件中声明一个全局变量时,通常使用`extern`关键字。这样做是为了告诉其他源...

C语言中extern的用法
在C语言中,"extern"是一个关键的标识符,它用于指示变量或函数的定义位于其他源文件中。当在代码中遇到extern修饰的变量或函数时,编译器会在其他模块中查找其实际声明。以下是extern在不同情况下的用法和注意事项:1. 变量和函数声明:extern可以用于变量和函数的声明,提示编译器在其他文件中查找定义。

相似回答