LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 802|回复: 8

如何读取预处理后的代码

[复制链接]
发表于 2004-12-17 01:01:28 | 显示全部楼层 |阅读模式
本人新添加了一个简单的系统调用,编译没有问题,在应用程序中用的时候却总是出错,我想看看程序预处理后的代码,不知道怎么看,请教高手们
发表于 2004-12-17 08:58:44 | 显示全部楼层
gcc -E

要记得Linux下有个很好的东西叫做man
 楼主| 发表于 2004-12-17 12:26:34 | 显示全部楼层
多谢指点,小弟一定勤加修习!
发表于 2004-12-18 14:28:14 | 显示全部楼层
运行错误应该用gdb来调试吧?看预处理代码多难受
发表于 2004-12-19 15:21:46 | 显示全部楼层
测试系统调用最好用汇编吧。用C还得自己封装系统调用接口。
发表于 2004-12-19 15:31:43 | 显示全部楼层
gcc -S生成 汇编代码
或者用strace命令检查程序运行错误
发表于 2004-12-19 15:41:02 | 显示全部楼层
Post by suowei1979
gcc -S生成 汇编代码
或者用strace命令检查程序运行错误

说得不错,strace是一个功能很强大 的工具。我有一些莫名奇妙的错误就是用它找到原因的。
 楼主| 发表于 2004-12-23 22:26:27 | 显示全部楼层
多谢各位大侠指导!
发表于 2004-12-24 09:27:16 | 显示全部楼层
用 gcc -E就可以了,比如你有个test.c ,使用gcc -E test.c 就可以让gcc在预处理后停下来。
下面摘自 man gcc

-E  Stop after the preprocessing stage; do not run the
           compiler proper.  The output is in the form of prepro­
           cessed source code, which is sent to the standard out­
           put.

           Input files which don't require preprocessing are
           ignored.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表