在调试C程序时突然会跳至汇编语言里去怎么解决

在调试C程序时突然会跳至汇编语言里去怎么解决,第1张

楼主你好!

楼主对汇编一点不懂的话,很难学好C的,建议平时看一下汇编语言。

楼主没有给出所用的C编译器的软件名称,所以本人泛泛说一下。

一部分C集成环境在调试时,会生成带有调试信息的可执行文件,这样在调试时会根据C源代码进行一步步的执行,但对于一些系统级的调用,如果单步调试的话,会进入其中的子程序,这样只能是用汇编语言(有对应机器码)

如果没有生成高级语言调试信息的话,那肯定只能是用汇编语言调试

而有的的编译器则只能进行汇编语言级的调试

所以楼主这种情况是正常的、常见的,楼主应该附带看一下汇编语言和 *** 作系统、内存储器这样的基本知识。

喜欢楼主能够得到提高。

如果是VC则在编译器命令行参数再加 /FA 则会生成汇编代码。如果参数是 /FAs 则会同时将源码和汇编代码。

/FA 程序集代码;.asm

/FAc 机器码和程序集代码;.cod

/FAs 源代码和程序集代码;.asm

/FAcs 机器码、源代码和程序集码;.cod

/Fa的用法

/Fa 为编译中的每个源代码文件创建一个源文件.asm。

/Fa文件名 将文件名.asm 放到当前目录中。仅在编译单个源代码文件时有效。

/Fa文件名.扩展名 将文件名.扩展名放到当前目录中。仅在编译单个源代码文件时有效。

/Fa目录\ 为编译中的每个源代码文件创建一个源文件.asm,并将其放到指定目录中。请注意必须有后缀反斜杠。只允许使用当前磁盘上的路径。

/Fa目录\文件名 将文件名.asm 放到指定目录中。仅在编译单个源代码文件时有效。

/Fa目录\文件名.扩展名 将文件名.扩展名放到指定目录中。仅在编译单个源代码文件时有效。

如果你是用gcc 或 g++编译器,如dev c++则加入命令行参数 -S 即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11238643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存