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”链接指示后,上面的代码就能够正常运行了。
参考资料:http://zhidao.baidu.com/question/116706701.html?fr=qrl&cid=866&index=1
c语言中的extern是什么,有什么作用啊?
在C语言中,extern是一个关键字,它的主要作用是标识函数或变量的定义在当前编译单元之外。具体来说,它有以下两个应用场景:首先,当你在某个C文件中声明一个函数,如:extern void add(int x, int y);,这意味着这个函数的实现并不在这个文件里,而是在另一个文件中定义。这样做有助于代码的模...
c语言中的extern是什么,有什么作用啊?
extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。extern的另外用法是当C和C++混合编程时假如c++调用的是c源文档定义的函数或变量,那么要加extern来告诉编译器用c方式命名函数:文档A.cpp...
c语言中extern的意思是什么?
C语言中extern的含义是外部引用。以下是针对该关键词的 一、基本定义 在C语言中,`extern`是一个关键字,主要用于声明一个变量或函数是在其他文件中定义的。通过使用`extern`关键字,我们可以告诉编译器该变量或函数在其他地方已经定义,这里只是引用。这样,在编译时,编译器会确保链接到正确的位置以获取...
c语言中extern的意思是什么??
C语言中extern的含义是外部变量声明。详细解释如下:1. extern的基本含义 在C语言中,extern关键字用于声明一个变量是在其他文件中定义的。通过使用extern关键字,可以在当前文件中引用在其他地方定义的变量。这意味着,你可以在一个文件中声明一个变量,并在另一个文件中定义和初始化它。这使得代码的组织...
extern在c语言中是什么意思?
在C语言中,extern关键字用于声明一个变量或函数是在其他文件中定义的。接下来,我将详细解释这个概念:一、变量声明与外部变量 在C语言中,当我们想要使用一个变量,但不想在当前的代码块中定义它时,就可以使用extern关键字进行声明。这种变量通常被称为外部变量或全局变量。通过extern声明,我们可以告诉...
c语言中extern只能声明,int可声明与定义,为什么还要extern
extern是C语言的一个关键字,用于声明一个变量或者函数,也就是通知编译器,对应的变量或函数没有在所在的文件中定义,而是在其它文件中定义。这样避免了编译器报错,当然如果链接器最终找不到定义,也会在进行链接时报错。
C语言中extern的用法
在C语言中,"extern"是一个关键的标识符,它用于指示变量或函数的定义位于其他源文件中。当在代码中遇到extern修饰的变量或函数时,编译器会在其他模块中查找其实际声明。以下是extern在不同情况下的用法和注意事项:1. 变量和函数声明:extern可以用于变量和函数的声明,提示编译器在其他文件中查找定义。
c语言extern
在C语言中,`extern`是一个存储类说明符,它告诉编译器某个变量或函数是在其他地方定义的,而不是在当前文件中。这对于模块化编程非常有用,允许开发者将代码拆分成多个文件以提高可读性和维护性。关于变量的声明:当你在头文件中声明一个全局变量时,通常使用`extern`关键字。这样做是为了告诉其他源...
c语言中extern在函数声明中是什么意思?
1. extern关键字的基本含义 在C语言中,extern关键字用于声明变量或函数,表示该变量或函数的实际存储或实现在其他地方,但可以在当前文件中使用。简单来说,extern就是一种声明机制,告诉编译器该变量或函数在其他地方已经定义,这里只是引用。2. 在函数声明中的应用 当我们在一个文件中使用extern关键字...
c语言中的extern什么意思
extern是全局变量声明,只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下。 例如 #include "my_Fun.c" extern int b;\/\/b是在my_Fun.c中声明了的一个全局变 ...