当前位置:  技术问答>linux和unix

如何完完全全的使用自己的一套工具编译?请看

    来源: 互联网  发布时间:2015-02-25

    本文导语:  是这么一种条件: 有一个C编译器own-gcc,一个链接器own-ld,还有一套头文件跟相应的函数库(里面有些函数跟标准库函数一致) 有这么一个问题:用以上的那些东西编译一个叫hello.c的源文件,应该用什么样子的命令行...

是这么一种条件:

有一个C编译器own-gcc,一个链接器own-ld,还有一套头文件跟相应的函数库(里面有些函数跟标准库函数一致)

有这么一个问题:用以上的那些东西编译一个叫hello.c的源文件,应该用什么样子的命令行?

comment:由于自定义库跟标准库之间有相同的函数入口,所以避免multiple reference错误是相当重要的,或许应该添某个选项才行

|
如果你这个“own-gcc”安装到一个单独的目录下的话,只要:
CC=own-gcc
LD=own-ld
其它没什么区别!

关于那个错误,是因为没有include 的原因。

|
楼上有朋友说对了, 今天我也犯了同样的错误呢, 这个和TURBO C不一样。

|
我觉得怎么编译,还得问做那个工具的人,没有人知道他想的什么

|
也就是在makefile中,把所有的参数都写进去
#makefile
CC=own-gcc

$CC 参数 filename

|
我认为,如果你这个“own-gcc”的所有的东西(包括头文件)都安装到一个单独的目录,比如:/usr/local/owngcc下,那你调用owngcc时,它自然会去/usr/local/owngcc下的include目录中寻找标准头文件,而不是在/usr/include下。我装过一个gcc的cross-compiler,是这样的。关于这一点,细节我也不是很清楚,gcc的stdinc路径难道是编译进程序了?因为gcc没有任何配置文件。也期待高手的解答!
或者,如果不是这样的话,你仍然可以用-nostdinc -Ipath显式的指定include路径。

|
你要不指定系统的路径,要不使用-I指令
cc a.c -I./include

在./include下查找头文件。

|
不会吧,c语言对于函数隐式声明只是警告。
c++才会认为这是个error.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3