在a.h里边声明 extern aaa ddd[100]; 在main.c里边再次声明全局变量 aaa ddd[100]; 在read.c里边填充ddd 跳出read.c的函数之后 ddd里边啥都没了 全部归0 郁闷
by wangqi0021 - C/C++ - 2009-02-04 10:21:27 阅读(1564) 回复(7)
就两个文件 main.c和main.h main.c 里面引用了一个 read_config_info函数 而main.h里面是有这样的一段话 extern int read_config_info: 难道这样就可以了么?程序顺利执行了?可是结果怎么样?
在一个c里面: int test() { printf("hi,unix\n"); } gcc有没有什么参数可以使得该函数是extern的? xlC又是有什么参数? 注意不是改代码....
麻烦各位了。请问一下extern的用法。比如; extern int a; a=3; cout<extern在文件封装方面的使用。 另外,初始化和赋值有什么不一样啊?赋值完成的是什么操作,初始化完成的是什么操作? 我用 int a; 声明了一个变量,编译程序什么时候给他分配地址? 声明 int * a_pr; 时,又是什么时候分配地址?
环境:RedHat Enterprise Linux ES3
请教个问题,旨在学习使用extern
现在我写了两个文件(.c文件)
文件:fun.c
#include
请问怎么实现(比如一个文件中)c与c++分开编译,extern好象只能用在库上吧?
对文件中新写的代码不好使吗?
extern c{
#include
//////////////////////////////////////////
// max.cpp
///////////////////////////////////////////
int i = 10;
void max( int a, int b )
{
i = a > b ? a : b;
}
//////////////////////////////////////////
// main.cpp
///////////////////////////////////////////
#include
看到Linux内核源代码里有许多.h文件这样定义函数, extern inline int fun() { ... ... } 自己也尝试了一下, 出现一些问题: extern inline int fun() // 1. 失败 //inline int fun() // 2. 成功 //static inline int fun() // 3. 成功 { printf("Call fun\n"); return 0; } int main(void) { fun(); return 0; } 为什么按1定义函数头失败, 提示如下: [root@Linux a]# gcc -o test test.c /tmp/ccYvhsWm.o(.text+0...
在函数声明时加extern 与 直接在函数定义时加extern有什么区别?如 extern int fun(); // 1 extern int fun() // 2 { return 0; } 1和2的extern 有何区别?请详述,谢谢。