当前位置: 技术问答>linux和unix
GCC
来源: 互联网 发布时间:2016-09-21
本文导语: gcc david.c xueer.c -o davidxueer 把两个源文件编译成一个目标文件 这两个源文件需要什么依赖关系么 ?能不能举个例子啊? | 这位老兄, “下面的两个顺序是不能错乱的。 # gcc main.o other...
gcc david.c xueer.c -o davidxueer
把两个源文件编译成一个目标文件 这两个源文件需要什么依赖关系么 ?能不能举个例子啊?
把两个源文件编译成一个目标文件 这两个源文件需要什么依赖关系么 ?能不能举个例子啊?
|
这位老兄,
“下面的两个顺序是不能错乱的。
# gcc main.o other.o -o hello”
我咋试了试,可以乱啊~我是觉得奇怪的,不知道是不是我理解错了你的意思?
我main函数里面有个add函数,我就是这样编译的,
gcc -c main.o
gcc -c add.o
gcc add.o main.o -o main
咋个还是可以成功的咧~
所以若是不大确定的,最好不要乱教,若是我错了没理解你的意思,请见谅~
“下面的两个顺序是不能错乱的。
# gcc main.o other.o -o hello”
我咋试了试,可以乱啊~我是觉得奇怪的,不知道是不是我理解错了你的意思?
我main函数里面有个add函数,我就是这样编译的,
gcc -c main.o
gcc -c add.o
gcc add.o main.o -o main
咋个还是可以成功的咧~
所以若是不大确定的,最好不要乱教,若是我错了没理解你的意思,请见谅~
|
通常是一个文件里面包含了另外一个文件中调用的函数的实现代码。
|
这一步不用干啥的。两个文件没有必要的联系。如果是已经编译好了的目标文件。用gcc进行连接,比如main.o和other.o,mian.c文件中有调用other.c文件里面的函数,输出时hello的文件。下面的两个顺序是不能错乱的。
# gcc main.o other.o -o hello
|
include主要是包含头文件,编译阶段使用
而上面的是在链接时,在另一个.o文件查找定义,比如main.c中调用test.c中的test函数,那么在链接时会在test.o中查找test函数定义
|
可以有依赖关系,也可以没有依赖关系。只不过生成的davidxueer里面既包含了david.c的代码也包含了xueer.c的代码。
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。