首页 > 试题广场 >

请你说说 extern 的作用,extern变量在哪个数据段

[问答题]
请你说说 extern 的作用,extern变量在哪个数据段,为什么要 extern C
1. extern 置于变量声明或者函数声明前表示变量或者函数的定义在别的文件,提示编译器遇到时去其他文件中寻找其定义;2. extern 变量表示声明一个变量,表示该变量是全局变量,extern 修饰的变量保存在静态存储区,初始化为0保存在BSS段,不初始化为0保存在DATA段;3.extern "C" 的作用是为了能够正确的实现 C++ 代码调用 C 语言代码。
发表于 2022-08-04 15:04:02 回复(0)
extern "C" 的作用是为了能够正确的实现 C++ 代码调用 C 语言代码。因为c++允许函数重载,这会导致编译之后函数名不同,如果c++不使用extern C编译,调用c库中的这个函数会显示找不到这个函数。
发表于 2022-09-07 16:04:42 回复(0)
1.声明在别的文件中使用或者定义 2.能够是的C++编译器按照C语言标准编译C程序 3.三个段:bss,data,test
编辑于 2022-07-20 17:48:29 回复(0)
1. c/c++编译之后得到的函数符号不同,不能相互调用,extern "C" 的作用是让编译器用c的规则编译,这样就能正确的实现 C++ 调用 C 语言代码。 2.修饰变量表示全局变量 3.修饰函数或变量代表定义在其他文件。
发表于 2023-07-15 10:02:52 回复(0)
extern 可以置于变量声明或者函数声明前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其它文件中寻找其定义 extern “C” 作用是满足 c++ 和 c 的混合编程,指示编译器这部分代码按照c语言 编译
发表于 2023-11-11 11:42:18 回复(0)
1. extern关键字是用来标识“此处引入外部变量或者函数”,告诉编译器去其他文件寻找这个变量或者函数的定义。 2. extern声明的变量属于全局变量,存在静态存储区(全局区)。默认初始化未0(注意:局部变量是不会被默认初始化的) 3. extern C的目的是,在c++中引用C语言,因为Extern C标识的代码会按照C的规则进行编译。可以更好地调用底层的C库
发表于 2023-11-08 23:18:00 回复(0)
extern置于变量或者函数前表示该函数或变量在别的地方定义;extern修饰的变量在静态存储区;extern C表示使用C语言编译代码
发表于 2023-09-23 15:01:55 回复(0)
1. extern 可以置于变量声明或函数声明之前,以表示变量或函数的定义在别的文件中。提示编译器遇到此变量和函数时在其他文件中找寻其定义。 2. extern 表示声明一个变量,表示该变量是一个外部变量,也就是全局变量,所以 extern 修饰的变量保存在静态存储区,全局变量如果没有显示初始化,会默认初始化为0,或者显示初始化为0,则保存在程序的 BSS 段,如果不初始化为0,则保存在 DATA 段。 3. 加上 extern“C”后,会指示编译器这部分代码按照C语言编译,而不是C++。由于 C++ 支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而 C 语言并不支持函数重载,因此编译 C 语言代码的函数时不会带上函数的参数类型,一般只包括函数名。这个功能十分有用,因为在 C++ 以前,很多代码都是 C 语言写的,而且底层的库也是 C 语言写的,为了更好的支持原来的 C 代码和已经写好的 C 语言库,需要在 C++ 中尽可能的支持 C,而 extern“C”就是其中一个策略。
发表于 2023-08-15 10:02:56 回复(0)
1. extern表示此变量或函数定义在别的文件中 2. extern修饰的变量表示该变量是一个全局变量,保存在静态存储区,未初始化或初始化为0则保存在.BSS段,初始化不为0则保存在DATA段 3. extern "C" 后,会指示编译器这部分代码按照 C 语言(而不是 C++)的方式进行编译
发表于 2023-07-26 15:53:43 回复(0)
声明外部函数和变量,静态存储区,按照C的方式进行编译
发表于 2023-02-27 20:39:01 回复(0)
extern用在函数或者变量声明前,表示该函数在此时引用,定义在别的文件。entern修饰变量时表示变量保存在静态存储区,为全局变量。extrn c表示此部分按照c语言的方式进行编译
发表于 2022-08-18 22:42:11 回复(0)
1.外部可见 2.声明的变量即为全局变量,未初始化或者=0在bss段,初始化且不为零在data段 3.C++中使用指该处的代码按照C语言的标准进行编译(主要针对重载)
发表于 2022-07-28 20:10:39 回复(0)
此函数再别处声明 在此处引用 保存再全局区
发表于 2022-05-18 15:44:46 回复(0)