《Linux开发笔记》C语言编译

C语言编译过程

编译过程主要分为四步:预处理、编译、汇编、链接

预处理:主要用于查找头文件、展开宏

编译:把.i文件编译成.s文件

汇编:把.s文件汇编为.o文件

链接:把多个.o文件链接成一个app

以上四个步骤主要由3个命令实现,cll、as、collect2,这三个命令由一个命令触发:gcc -o hello hello.c

查看具体的编译步骤,可加参数-v查看

gcc代码选项

在使用gcc命令时可以通过添加选项实现多种功能

库分为静态库(a文件)和动态库(so文件),其中静态库表示将主函数和库打包在一起,会比较大,而动态库只是告诉主函数库在哪里,不进行一起打包,会比较小。

静态库:ar crs libsub.a sub.o

动态库:gcc -shared -o libsub.so sub.o

相关推荐
wangjialelele1 小时前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发
Sylvia-girl1 小时前
IO流~~
java·开发语言
risc1234562 小时前
认识一个事物,需要哪些基本能力与要素?
笔记
Re.不晚2 小时前
JAVA进阶之路——无奖问答挑战3
java·开发语言
代码游侠2 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
㓗冽2 小时前
60题之内难题分析
开发语言·c++·算法
dingdingfish2 小时前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
rainbow68892 小时前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
deepxuan2 小时前
Day7--python
开发语言·python
firewood20242 小时前
共射三极管放大电路相关情况分析
笔记·学习