[提问]一些多个源文件编译的问题……
发表于 : 2007-08-02 12:40
假如我在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个源文件的程序,运行结果怎么都不对……怒了把所有文件合并到一个文件里面编译一次,居然就对了……搞不懂……
#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个源文件的程序,运行结果怎么都不对……怒了把所有文件合并到一个文件里面编译一次,居然就对了……搞不懂……