linux学习

本文详细介绍了在CentOS7.6环境中使用GCC编译器将C/C++源文件转换为可执行文件的步骤,以及标准IO库函数如fopen、fclose等的使用方法。此外,还涵盖了make工具和makefile的运用,以及标准IO与系统调用IO的区别。
摘要由CSDN通过智能技术生成

在这里插入图片描述
参考
1 前言

1.1 环境
平台:Centos7.6

工具:vim,gcc,make
GCC编译器编译C源文件为可执行文件的步骤:

1.2 GCC
Linux系统下的GCC(GNU Compiler Collection)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。

GCC编译器能将C、C++语言源程序、汇程式化序和目标程序编译、链接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。

  • C源文件—->预处理.i—->编译.s(生成汇编文件)—->汇编.o/.obj(生成目标文件)—->链接.out(生成可执行文件)—->可执行文件

gcc命令参数(选项)

参数含义示例
-c对文件进行预处理、编译和汇编,生成obj文件gcc -c hello.c
-S只进行预处理和编译,生成汇编代码gcc -S hello.c
-E只进行预处理,这个选项不生成文件,可以使用重定向或者-o选项使其生成一个文件gcc -E hello.c > hello.i或者gcc -E hello.c -o hello.i
-o指定目标的名称,默认为a.outgcc -o hello hello.c

1.3 make

1.4 makefile

1.5 posix

2 标准IO
2.1简介

IO分为标准IO(stdio)和系统调用IO(sysio);
系统调用IO根据操作系统的实现方式而定,对于程序员来说会造成很大困扰(例如打开文件,Linux的系统调用为open,而Windows的系统调用为opendir),于是又有了标准IO,提供了一套标准的IO实现的库函数(例如pringtf,fopen等),它实际上也是调用了系统IO进行操作,但是屏蔽了系统调用IO,方便程序员调用。

常用的标准IO库函数如下:

打开关闭文件输入输出流文件指针操作缓存相关
fopenfgetc,fputc fseekfflush
fclosefgetsfputsftell
freadfwriterewind
printf族,scanf族

注意FILE类型贯穿始终;
2.2fopen

2.3fclose

2.4fgtec和fputc

2.5fgtes和fputs

2.6f和fputs

2.7print和scanf

2.8fseek和ftell

2.9fflush

2.10getline

2.11临时文件

3系统调用IO

4文件系统

5进程环境

6进程控制

7信号

8线程

9高级IO

10进程间通信

11网络嵌套字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值