linux学习 gcc 硬链接软连接

本文介绍了Linux环境下GCC编译器的基本使用,包括编译选项如-o, -c, -g和-Idir的作用。详细阐述了如何生成预处理文件、汇编文件、目标文件和可执行文件。同时,讲解了硬链接和软链接的区别,硬链接限制在同一文件系统内且不能链接目录,而软链接则没有这些限制,可以跨文件系统并能链接目录。" articleid,blogid,新标题,新标签,新关键词,新摘要 125243576,7337247,Go语言函数式编程实战指南,"['golang', '开发语言', '后端', '函数式编程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本使用格式

-$gcc [选项] <文件名>

常用选项及含义

-o 将经过gcc处理过的结果存为file 这个结果可能是预处理文件,汇编文件,目标文件和可执行文件。可执行文件默认名称a.out;目标默认文件名是source.o;汇编文件默认名为source.s
-c 对源文件进行编译 不链接生成可执行文件
-g 可执行文件中加入调试信息
-Idir 编译源程序时,Include增加一个搜索的额外目录

生成预处理文件

gcc -E hello.c -o hello.i

生成汇编文件

gcc -s hello.c -o hello.s

生成二进制目标文件

gcc -c hello.c -o hello

生成可执行文件

gcc hello.c -o hello

运行程序

$./hello

编译多个文件:
编译方式:分布编译

在这里插入图片描述在这里插入图片描述
分步编译命令:

gcc -c my_app.c
gcc -c greeting.c
gcc my_app.o greeting.o -o my_app

编译每一个.c文件,得到.o的目标文件;
将每一个.o的目标文件链接成一个可执行的文件;

将执行结果输出到文件

[root@liufengyuan liufengyuan]# ./hello>/home/liufengyuan/rj1605liufengyuan/liufengyuan 

硬链接:
硬链接实际上就是在某目录中创建目录项,从而使不止一个目录可以引用到同一个文件。这种链接关系由 ln 命令行来建立。
硬链接并不是一种特殊类型的文件,只是因为在文件系统中允许不止一个目录项指向同一个文件。

软连接:
软链接又称符号链接,是指将一个文件指向另外一个文件的文件名。
这种符号链接的关系由 ln -s 命令行来建立。

硬链接和软连接的特点:
硬链接
链接文件和被链接文件必须位于同一个文件系统内
不能建立指向目录的硬链接
软链接
链接文件和被链接文件可以位于不同文件系统
可以建立指向目录的软链接

存储设备和挂载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值