栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Linux 系统编程1

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 系统编程1

主要内容:
  1. GCC编译器
  2. GDB调试工具
  3. Make工具
GCC编译器 1.GCC编译器介绍

GCC包含了预处理器、编译器、汇编器、链接器等组件。
输入文件的类型和传递给gcc的参数决定了gcc调用具体哪些组件。

2.GCC编译过程

一般情况下,C程序的编译过程是:

  1. 预处理 >>> 生成 test.i 文件
  2. 编译成汇编代码 >>> 编译得到 test.s 文件 (可读文本文件)
  3. 汇编成目标代码 >>> 汇编得到 test.o 文件(二进制文件)
  4. 链接 得到.o 文件
预处理

使用参数 -E
gcc -E -o gcctest.i gcctest.c
使用wc命令比较预处理后的文件与源文件,可以看到两个文件的差异。

编译成汇编代码

编译成目标代码

编译成可执行代码

3.GCC编译优化

-O0 -O1 -O2 -O3


在结果中,-O3不一定是优化最多的。

4.头文件和库函数目录 4.1 GCC -l dir参数的使用

举例:
对于自定义头文件 my.h,不能使用 #include 修改方法如下两种:

4.2 GCC创建函数库

静态库和动态库
静态库代码装载速度快,执行速度比动态链接库快。

静态库的生成与使用

动态库的生成与使用

GDB调试工具


GDB的命令

命令行输入 gdb 进入GDB中。

GDB命令的使用

1.gdb filename

file test

2.list
list 1,10 //显示1~10行
list 默认显示10行

3.回车符
重复执行上一条命令

4.help
返回gdb的命令提示信息

5.设置断点
b 1 //在第一行设置断点
break 1 //在第一行设置断点

6.info breakpoints
显示断点信息

7.clear
清除已经定义的断点
clear n //n表示断点行号

8.delete
删除指定/全部断点
delete 3 //删除编号为3的断点

9.print
输出断点处变量的值。

10.quit
退出gdb




Make 工具 Make引入

Makefile文件


make

makefile







转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/950229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号