LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 927|回复: 6

我也问个白菜的问题。

[复制链接]
发表于 2006-3-1 05:07:10 | 显示全部楼层 |阅读模式
我有两函数程序,1.c, 2.c。然后我定义了一个头文件,lib.h,里边定义了这个这两个函数。
最后我也写了一个程序,3.c 要调用1.c和2.c.
#include "lib.h"

int main()
{
        1();
        exit(0);
}

然后这样编译,
gcc -c 1.c 2.c 3.c
gcc -o 3 3.o 1.o 2.o
为什么到连接的时候通不过呢。
3.o: In function `main':
3.c.text+0xa): undefined reference to `1'
collect2: ld returned 1 exit status

谢谢。
发表于 2006-3-1 07:29:51 | 显示全部楼层
函数的命名能以数字开头吗?
回复 支持 反对

使用道具 举报

发表于 2006-3-1 07:30:45 | 显示全部楼层
光定义是不够的,还要声明:
#include "lib.h"

1(); // 这时声明

int main()
{
1();
exit(0);
}
回复 支持 反对

使用道具 举报

发表于 2006-3-1 07:31:54 | 显示全部楼层
Post by ideawu
函数的命名能以数字开头吗?

好象你说的对,不能以数字开头.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-1 08:11:35 | 显示全部楼层
SORRY。
是我在函数里边,把1.c里边的函数名写错了,写成了其他的名字,而不是在主程序里边调用的名字了。真糊涂。:comp
回复 支持 反对

使用道具 举报

发表于 2006-3-1 11:41:20 | 显示全部楼层
To biinn :
人家编译已经通过了,就不存在你说的问题了。(应是声明在头文件中)
函数不能以数字开头吧。
回复 支持 反对

使用道具 举报

发表于 2006-3-2 01:23:27 | 显示全部楼层
Post by 弥敦路九号
To biinn :
人家编译已经通过了,就不存在你说的问题了。(应是声明在头文件中)
函数不能以数字开头吧。


兄弟批评的对,我没仔细分析楼主的问题,该打!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表