C语言学习笔记系列(6)编译调试
来源:互联网 发布:知乎印度十大著名景点 编辑:程序博客网 时间:2024/04/30 09:33
在Solaris上,编译工具为Sun Studio自带的cc,调试可以使用dbx,需要根据机器的实际环境来确定。关于cc和dbx命令,其参数比较多,想要使用明白最好还是查找一些详细的资料,网上有很多相关的资料,另外还可以通过man命令查看系统自带的帮助文档。这里仅列举几个简单的例子来说明不同情况下如何编译代码。
1:直接编译成可执行文件
cc -g -o mytest mytest.c
g:表示该程序可以用dbx调试。
o:后面跟生成的目标文件
mytest:生成的可执行程序
mytest.c:源代码
2:编译成目标文件(.o)
cc -c mytest.c
该命令只会生成mytest.o而不会生成可执行文件。
3:生成库文件
cc -g -o libtest.so *.o
o:后面跟生成的库文件
为了避免经常性地输入长串的编译命令,可以把这些命令组织到Makefile文件中,关于Makefile文件的做成规则,可以参照/usr/share/lib/make/make-rules。
下面说一下另外一个命令:lint - C程序检查器。
使用方法: lint [option] file
具体参数的使用可以查看帮助文档,这里还是只列举常见的使用。
例如:lint -Nlevel=3 iotest.c把检查级别设定为3级。
lint会对下面这些方面(包含但不限于)进行检查:
o 无法运行到的代码
o 无法进入的循环
o 声明但未使用的变量
o 结果固定的表达式
o 函数没有声明
如果编译可执行程序的时候办好参数-g,那么可执行程序可以用dbx进行调试。方法有两种:dbx exefile 或者dbx – pid。
dbx状态下可使用命令:
run:运行要调试的程序。 where:显示现在代码的执行位置。 print:打印变量的值。
stop at:后面跟行号,表示设定断点。step:进入函数跟踪。step up:退出当前函数的跟踪。
assign:给变量赋值,命令后面跟赋值表达式。
更详细的dbx信息请参照帮助文档。
- C语言学习笔记系列(6)编译调试
- C语言系列学习笔记
- C语言学习笔记系列(2)位运算
- C语言学习笔记系列(3)指针
- C语言学习笔记系列(4)I/O函数
- C语言学习笔记系列(5)结束函数
- C语言学习笔记系列(7)文件操作
- C语言学习笔记系列(8)目录操作
- C语言学习笔记系列(9)进程间通信
- c语言学习笔记(10)编译器编译过程分析
- c语言学习笔记(12)条件编译使用分析
- c语言学习笔记之条件编译
- C语言学习笔记_6编译预处理
- C语言提高班学习笔记 lesson5 编译
- (编译-链接)-C语言学习笔记1
- C语言学习笔记--C语言的环境与编译
- c语言学习笔记 c程序编译过程
- C语言学习笔记(三)C的程序结构与编译执行过程
- PhotoRec Linux下恢复误删除的文件(转贴)
- 硬盘安装及配置ubuntu9.04的全过程(转贴)
- 堆空间、栈空间和堆栈平衡
- 使用 Oracle Spatial 创建地图混搭
- 甲骨文CEO埃里森为何迷上并购?
- C语言学习笔记系列(6)编译调试
- 学车(一)
- 在windows系统下使用shell
- 函数名字查找
- 设置tomcat5.5以上的jvm最大内存值
- 感慨。
- VC调试入门
- Vi与Vim的区别
- 函数调用alv方式总结