博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GCC,GDB,Makefile
阅读量:6315 次
发布时间:2019-06-22

本文共 643 字,大约阅读时间需要 2 分钟。

编译器GCC的用法:

   gcc 【选项】【文件名】【选项】【文件名】

总体的选项:

-E:对源文件进行预处理(包含头文件,宏等替换)

-S:对源文件进行编译。(汇编代码)

-c:对源文件进行编译或汇编

-o:输出目标文件。

调试选项:

-g :产生调试信息

优化选项:

O0:不进行优化

O1:对目标文件的性能进行优化

 

静态链接是指编译系统在链接阶段把程序的目标文件和所需的函数库文件链接在在一起,这样生成的文件就可以

在没有函数库的情况下运行,但这种方式可执行文件体积较大,但与你运行速度快。

动态链接是指编译系统在链接阶段并不把目标文件和函数库文件链接在一起,而是等到程序在运行过程中需要使用

时才链接函数库。没有库文件,体积小,但运行效率低一些

 

Makefile:

目标文件:依赖文件

  命令

$(变量名)   支持自动推导   伪目标 (make clean)  文件查找(VPATH) cd 子目录 && $(Make)

条件判断 函数    

Makefile的自动生成

 

GDB调试器:

编译时:gcc -g选项

l 查看源代码,10行为单位,再l再显示10行

设置断点:b 7

查看断点:info b

r 运行,在断点前停下来

p n查看变量值

c继续运行

s 单步执行 n不进入函数内部执行

 

Live together,or Die alone!

转载于:https://www.cnblogs.com/smileallen/archive/2013/03/17/3391599.html

你可能感兴趣的文章
SpringCloud 学习(二)-1 :服务注册与发现Eureka扩展
查看>>
python time,string 转换
查看>>
ASN.1探索 - 2 基础知识(3)(转)
查看>>
transition css3的问题
查看>>
MEF 编程指南(七):使用目录
查看>>
使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】
查看>>
切换默认Activity和Fragment的动画
查看>>
Android使用帧动画解决内存溢出问题
查看>>
android map api v2 示例 步骤及问题
查看>>
swift - 正则表达式
查看>>
[BZOJ 1004][HNOI2008]Cards(Polya定理/Burnside引理)
查看>>
Python3发送post请求,自动记住cookie
查看>>
微信小程序 引入公共页面的几种情况
查看>>
12-事件委托(事件代理)
查看>>
[原创]SpringBoot上传图片踩的坑
查看>>
Test for Job(POJ - 3249)
查看>>
asp.net mvc4+EF 下使用UEditor
查看>>
了解Flash ActionScript
查看>>
Xcode4.2 关闭ARC
查看>>
不用aspnet_regsql创建membership数据库
查看>>