假如我在main.c里面头部写了
#include<stdio.h>
#define A 100
main()
{……}
然后把一个子函数放在sub.c,其中调用了标准库的printf()和前面main.c定义的A,那么这个sub.c的头部还要不要加入这两句?
#include<stdio.h>
#define A 100
我是直接gcc *.c编译的,不写这两句通不过编译,提示说未定义,但是我觉得这样会不会重复定义了,影响最后的程序?
btw,一般处理多个源文件时,gcc该怎么用?
gcc *.c?
gcc -c *.c然后gcc *.o?
我的教材对于多个源文件编译的细节讲的太不详细,我也找不到更多有关的东西,只好上来问了= =
昨天编译一个4个源文件的程序,运行结果怎么都不对……怒了把所有文件合并到一个文件里面编译一次,居然就对了……搞不懂……
[提问]一些多个源文件编译的问题……
- lyre
- 帖子: 77
- 注册时间: 2005-06-28 18:08
-
- 帖子: 18
- 注册时间: 2006-11-23 18:04
- suncanoe
- 帖子: 476
- 注册时间: 2005-12-07 0:17
- 来自: 昆明
- lyre
- 帖子: 77
- 注册时间: 2005-06-28 18:08
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
- nihui
- 帖子: 1746
- 注册时间: 2006-10-21 12:03
- 来自: Shanghai
- 联系:
- cherry4
- 帖子: 15
- 注册时间: 2007-08-01 13:30