读书人

请问个函数编译时候链接的有关问题

发布时间: 2013-08-09 15:16:24 作者: rapoo

请教个函数编译时候链接的问题?
a.c
void test(int a);

int main()
{
int a = 0;
test(a);
return 0;
}

b.c //先编译成动态库文件
void test(int b, int c)
{
//do something;
}

这样编译的时候,链接为什么没有报错? linux,gcc 4.1.2 环境。
[解决办法]
动态库中有函数符号,不过至于参数是否匹配,它是不检测的,需要程序员自己维护。
[解决办法]


只会检查基本语法而已,
连编写的头文件都可以编译,源文件也是没有问题的

[解决办法]
有两个可能:
1、老的C是不考虑参数列表的;
2、test是个弱符号链接。

读书人网 >C语言

热点推荐