我是靠谱客的博主 复杂枫叶,最近开发中收集的这篇文章主要介绍识别INSB号码C语言如何讲述,探究机器码,深入研究C语言程序的机制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用C高级编程语言写的程序,都要经过编译链接成本机可执行的程序。这个可执行程序究竟是什么呢?在Linux上,我们可以用objdump命令很方便地查看一个可执行程序的机器码。我们从一个简单的示例开始,说一说怎么理解机器码。

一、一个简单的c代码,什么都不做: testc.c

1 #include 2

3 int main(int argc, char **argv)4{5

6 return 1;7 }

这段代码异常简单,只是向系统返回一个值为1的量即可。

二、Makefile文件如下:

1testc:testc.o2 gcc -S testc.c -o testc.s3 gcc testc.c -o testc4 objdump -D testc >dumpTestc.txt5

6clean:7 rm testc testc.s testc.o dumpTestc.txt

不要觉得这么简单的程序还需要Makefile文件,但是为了使用方便,还是使用更方便:

生成了:

可执行文件testc,

生成了目标文件testc.o,

生成了汇编文件testc.s

生成了机器码与汇编对应的文件dumpTestc.txt

还可以借助clean完成中间生成文件的清理工作

make

完成上边工作的一键处理化,最后,查看文件分别如下:

1 .file "testc.c"

2.text3.globl main4.type main, @function5main:6.LFB0:7.cfi_startproc8 pushq %rbp9 .cfi_def_cfa_offs

最后

以上就是复杂枫叶为你收集整理的识别INSB号码C语言如何讲述,探究机器码,深入研究C语言程序的机制的全部内容,希望文章能够帮你解决识别INSB号码C语言如何讲述,探究机器码,深入研究C语言程序的机制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部