从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-20.04-desktop-amd64(百度网盘) (ISO)(百度网盘)(百度网盘)
在Ubuntu 20.04系统中,针对ARM架构的交叉编译工具链通常用于在X86或X86_64平台开发和调试针对ARM设备的应用程序。`arm-linux-gnueabi`就是这样的一个工具链,它允许你在非ARM系统上构建适用于ARM处理器的Linux应用...
ubuntu-16.04.4-desktop-amd64.iso
ubuntu-18.04.4-desktop-amd64.iso
Linux 虚拟机 映像下载 ubuntu-16.04.6-desktop-amd64.iso
ubuntu-18.04.1-desktop-amd64.iso百度网盘下载地址,自己整理,诚不欺人。
ubuntu-16.04.4-desktop-amd64.iso百度网盘下载地址,古人诚不我欺。
ubuntu-18.04.5-desktop-amd64.iso,ubuntu18.04.5镜像,官方资源,百度网盘下载链接
ubuntu-20.04.5-desktop-amd64.iso 使用rufud将镜像刻录到U盘里 将刻录的U盘插入到物理机上,开机并进入到BIOS中,设置U盘优先启动,或者开机按下F9进入到引导菜单栏,选择U盘,然后点击Ubuntu进行安装 安装设置
ubuntu-10.04-desktop-amd64.iso.torrent, Ubuntu Lucid amd64位下载种子
对于开发者来说,Ubuntu 16.04支持各种编程语言,如Python、Java、C++和Go等,并且通过apt-get或Snap可以方便地安装各种开发工具,如Git、IDEs、数据库管理系统等。此外,Ubuntu Server版也与Desktop版共享相同的...
vscode连接远程ubuntu服务器,使用remote-ssh插件+连接问题解决
ubuntu-22.04-live-server-arm64.iso https://releases.ubuntu.com/jammy/
### 关于Ubuntu 14.04 Desktop AMD64 ISO及百度云下载的相关知识点 #### 一、Ubuntu 14.04版本介绍 Ubuntu 14.04,全称为Ubuntu 14.04 LTS (Trusty Tahr),是Ubuntu操作系统的一个长期支持(LTS)版本,发布于2014...
"armhf"代表了ARM硬件浮点单元的硬浮点 ABI(Application Binary Interface),意味着这个版本是为使用ARMv7架构并支持浮点运算的设备(如全志A20)编译的。 “overlay”在Linux中通常指的是一个文件系统层叠技术,...
### 在Ubuntu环境下使用DS-5评估版编译msm8610的Chipcode需要修改的地方 #### 一、概述 本文将详细阐述在Ubuntu环境下使用DS-5评估版编译msm8610的chipcode时所需进行的具体修改。msm8610是一款由高通(Qualcomm)...
《Ubuntu在ARM架构下的触屏驱动安装与配置详解——基于pmLinux-Ubuntu-12.04-20.10-x86-arm-Driver》 在嵌入式系统和物联网领域,Ubuntu操作系统因其开源、稳定且丰富的软件库而备受青睐。尤其是针对ARM架构的设备...
支持libx264,libx265,libfdk-aac编码,支持滤镜。可以看我的博客:ffmpeg编译笔记:ubuntu18.04交叉编译win-ffmpeg,引入libx264,libx265,libfdk-aac,libfreetype等第三方库
Ubuntu 20.04 是一个流行的 Linux 发行版,而离线安装 MingW-W64 可能是因为在没有网络连接或者网络不稳定的情况下进行的。以下是一份详细的步骤,教你如何在 Ubuntu 20.04 上离线安装 MingW-W64。 **一、准备离线...
适用于:Ubuntu 24.04的操作系统 用于连接Mysql。安装完后配置etc/odbc.ini文件,即可用isql工具去连接数据库 在zabbix用ODBC监控数据库必备资源 在zabbix服务器上安装这二个包,然后页zabbix页面上可选择ODBC的模板...