Linux

您所在的位置:网站首页 怎么把汇编语言转换成二进制 Linux

Linux

2023-07-03 20:20| 来源: 网络整理| 查看: 265

目录

程序翻译的本质:将文本翻译成计算机可读的二进制

程序翻译的过程:

预处理:

编译:

汇编:

链接:

巧记:ESC ,iso 

程序翻译的本质:将文本翻译成计算机可读的二进制 程序翻译的过程: 预处理:

a.宏替换

b.头文件展开

c.去注释

d.条件编译

...

gcc -E mytest.c -o mytest.i

-E:从现在开始进行程序的翻译,如果预处理完成,就停下来

编译:

将文本语言转换成汇编语言

gcc -S mytest.c/i  -o mytest.s

-S:从现在开始进行程序的翻译,如果编译完成,就停下来

汇编:

将汇编语言转换为二进制语言

gcc -c mytest.s -o mytest.o

-c:从现在开始进行程序的翻译,如果汇编完成,就停下来

mytest.o:可重定向目标文件

用vim mytest.o查看是乱码,要用特定的二进制查看指令od mytest.o

链接:生成可执行文件或库文件 

①动态链接

将库中我要的方法的地址,填入我的可执行程序中,建立关联

gcc mytest.o -o mytest

gcc、g++默认形成的可执行程序是动态链接的

动态链接必须使用.so动态库文件

②静态链接:

将库中方法的实现,整个拷贝到我的可执行程序中

gcc mytest.o -o mytest-s -static

-static:表明使用静态链接的方式形成可执行程序

静态链接必须使用.a静态库文件

查看是动态还是静态链接的指令:ldd或file 巧记:ESC ,iso 



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3