位置: 编程技术 - 正文

linux链接编译详解(linux编译链接命令)

编辑:rootadmin

为什么要包含头文件而不是.c文件

测试代码:

编译:

In file included from m.c:1:0:t.c: 在函数‘test'中:t.c:3:2: 警告: 隐式声明函数‘putchar' [-Wimplicit-function-declaration]编译通过,只有一个警告,生成了可执行文件m,运行它正常,输出一空格。

修改下t.c 文件:

编译后执行

输出: test

从这可看出,包含.c文件进去对程序并没造成什么影响,反而比包含.h文件来得直接方便,这里主要考虑到大型项目中,各文件直接的联系,如A.c文件中包好M.c文件,B.c 文件中包含M.c文件,而A.c文件又包含B.c文件,那么编译时就会报错,函数名重定义了。 #include<>与#include""的区别:

对于用角括号包含的头文件,gcc 首先查找-I选项指定的目录,然后查找系统的头文件目录(通常是/usr/include,在我的系统上还包括/usr/lib/gcc/i-linux-gnu/4.3.2/include);而对于用引号包含的头文件,gcc 首先查找包含头文件的.c文件所在的目录,然后查找-I选项指定的目录,最后再查找系统的头文件目录。 静态库

将如上5个.c文件和一个.h文件放在同目录下,在当前目录下新建一Makefile文件,使用Makefile是编译。

编译后执行./main 显示:a

反编译指令: 查看反编译后程序

推荐整理分享linux链接编译详解(linux编译链接命令),希望有所帮助,仅作参考,欢迎阅读内容。

linux链接编译详解(linux编译链接命令)

文章相关热门搜索词:linux如何编译工程,linux如何编译工程,linux编译链接命令,linux编译工具,linux编译链接过程,linux编译链接过程,linux 编译动态链接库,linux如何编译工程,内容如对您有帮助,希望把文章链接给更多的朋友!

利用linux的timerfd_create实现计时器示例分享 timer_poll.h/**File:timer_poll.h*Author:Administrator*/#ifndefTIMER_POLL_H#defineTIMER_POLL_H#includesys/types.h#includefcntl.h#includesignal.h#includesys/epoll.h#includestdlib.h#includestring.h#inclu

shell脚本监控linux系统内存使用情况的方法(不使用nagios监控linux) 一、安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具)1、下载安装:#tarjxvfmsmtp-1.4..tar.bz2#cdmsmtp-1.4.#./configure--prefix=/usr/local/msmtp#make#make

linux使用管道命令执行ps获取cpu与内存占用率 #includestdio.h#includeunistd.hintmain(){charcaStdOutLine[];//ps命令的标准输出中的一行信息char*pcTmp=NULL;//指向以空格拆分后的字符串charcaSelfPID[];//自身进程的PID

本文链接地址:https://www.jiuchutong.com/biancheng/374753.html 转载请保留说明!

上一篇:linux仿写chmod命令(linux chmod s)

下一篇:利用linux的timerfd_create实现计时器示例分享(linux timeline)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络