关于Linux系统中使用gcc命令编译C源码
1.emacs中完成对c代码的编写
eg:emacs testname.c
2.使用gcc命令编译(参考链接:https://blog.csdn.net/kouxi1/article/details/123489598)
1)gcc testname.c -o testname(如果不使用-o,系统默认生成可执行文件名为a.out)
2)./testname
3)gcc工作原理:预处理 编译 汇编 链接
预处理
.c——>.i
命令:gcc -E hello.c -o hello.i
编译
.i——>.s
命令:gcc -S hello.i -o hello.s
汇编
.s——>.o
命令:gcc -c hello.s -o hello.o
链接(把obj文件链接为可执行的文件)
命令:gcc hello.o -o hello
gcc常用选项:(操作参考链接:https://blog.csdn.net/mysee1989/article/details/21513809)
-v 查看gcc编译器的版本,显示gcc执行时的详细过程
-o<file> 指定输出文件名为file,这个名称不能跟源文件名同名
-E 只预处理,不会编译、汇编、链接
-s 只编译,不会汇编、链接
-c 编译和汇编,不会链接
-I<头文件目录> 指令头文件(.h)目录(不指定优先从系统目录寻找)
-L<库目录> 指定依赖的库目录(so、或lib、dll)
3.gcc附加内容(参考链接:https://www.cnblogs.com/computer1-2-3/p/15879165.html)
1)file命令查看文件信息
file filename
2)od命令(参考链接:https://blog.csdn.net/qq_40085614/article/details/119532314?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-119532314-blog-122927820.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-119532314-blog-122927820.pc_relevant_default&utm_relevant_index=5)
od -b filename(八进制输出)
注:文中filename为文件名称,testname同理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)