从C语言到最终可执行程序主要分两个阶段:
1 将各个C语言的源文件生成目标文件(*.o);
2 将各个目标文件进行连接生成可执行程序
动态连接方法
生成目标文件的第一步骤:
sudo gcc -pipe -g -Wall -I. -c -o getarg.o getarg.c
sudo gcc -pipe -g -Wall -I. -c -o writeinfo.o writeinfo.c
sudo gcc -pipe -g -Wall -I. -c -o main.o main.c
-g 表示包含调试信息
-Wall 表示输出所有的警告
-I. 表示包含当前目录为头文件搜索路径,这个选项用于增加搜索文件的路径
尤其在工程较大,文件分布在各个目录的情况下经常使用
-pipe 表示使用管道替换临时文件
-o 指定目标文件的名称
生成目标的第二个步骤:
连接三个目标,生成可执行程序
$gcc -Wall -g getarg.o writeinfo.o main.o -o test
test为输出文件的名称,由-c指定
静态链接方法
$gcc -Wall -g getarg.o writeinfo.o main.o -static -o test_static
静态连接生成时,将所需要的库函数都纳入文件之中哦姑娘,运行
实际上,编译过程分为3个阶段:预处理,编译,汇编
预处理(去注释,头文件展开,宏替换)
gcc -E main.c
将C语言编译为汇编语言
gcc -pipe -g -Wall -I. -S main.c -o main.s
汇编语言生成目标文件
gcc -pipe -g -Wall -I. -c main.s -o main.o
分享到:
相关推荐
ubuntu-base-16.04-core-armhf.tar.gz ubuntu-base-16.04-core-armhf.tar.gz
ubuntu-16.04.6-desktop-i386
ubuntu-20.04-desktop-amd64(百度网盘) (ISO)(百度网盘)(百度网盘)
ubuntu-14.04.3-desktop-i386.rar
百度承不欺我,ubuntu-16.04.6-desktop-amd64.iso镜像文件,挣点积分换流量
ubuntu-14.04-desktop-i386.part14
ubuntu-10.04.4-desktop-i386.iso
ubuntu-7.10-jeos-i386最小的精简版系统,针对虚拟机进行优化,只有151M大小,完整一个包下载,不是分卷
ubuntu-20.04.3-desktop-amd64,共2部分,此为第1部分。
ubuntu-14.04.6-desktop-amd64.iso,官方提供iso
已往我们用的arm-linux-gcc都是一个压缩包解压来,导出环境变里的方式来安装。今天弄了一下直接从ubuntu的库来安装。其实我们用的arm-linux-gcc对应在ubuntu 中为arm-linux-gnueabi.
ubuntu-18.04.6-server-arm64.iso ubuntu arm64 aarch64位系统 ubuntu for arm64 ubuntu for aarch64
ubuntu-18.04.4-desktop-amd64.iso
ubuntu-14.04.5-desktop-i386 版本的 迅雷 下载 torrent
百度云资源下载ubuntu-14.04-desktop-amd64.iso;
Ubuntu20.04离线安装openssh-server 安装步骤: sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.7_amd64.deb sudo dpkg -i openssh-client_8.4p1-6ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_8.4p1-6ubuntu1...
linux系统分享、ubuntu-20.04.3-desktop-amd64
ubuntu-16.04.4-desktop-amd64.iso百度网盘下载地址,古人诚不我欺。
ubuntu-18.04.5-desktop-amd64.iso,ubuntu18.04.5镜像,官方资源,百度网盘下载链接
ubuntu-22.04-live-server-arm64.iso https://releases.ubuntu.com/jammy/