.c文件如何一步步变成.exe文件

news/2024/11/17 19:24:18/

上周我的组长问我一个问题,我没有回答出来,特地来写一篇博客记录一下。

预编译/预处理----->编译----->汇编----->链接

预编译.c文件转换成.i文件    展开头文件/宏替换/去掉注释/条件编译

比如一个hello world程序(程序命名为hello.c),第一行的#<stdio.h>命令会让预处理器读取系统头文件stdio.h的内容,并把它插入到程序文本中得到另外一个以.h为文件扩展名的新的程序,即hello.i。

编译.i转换成.s文件    将程序语言转换成汇编语言

将文本文件hello.i翻译成为文本文件hello.s,它包含一个汇编语言程序。

汇编.s转换成.o文件    将汇编语言转换成二进制语言,即机器语言。

链接 :通过链接器将目标文件汇聚,形成可执行程序(.exe文件)

补充一点:汇编是将汇编语言转为二进制语言(即机器语言),而反汇编是将机器语言(即二进制语言)转为汇编语言。


http://www.ppmy.cn/news/696485.html

相关文章

linux服务器上怎么运行exe,用Linux服务器运行exe文件

参考百度经验:https://jingyan.baidu.com/article/63acb44ac5984f61fcc17eb9.html https://jingyan.baidu.com/article/e6c8503c4c8184e54f1a1884.html 1.安装lxde和vnc (1)第一步,更新系统: apt-get update -y apt-get upgrade -y 保证所有的软件都更新到了最新。 (2)安装工…

JavaScript 调用本地exe文件

web项目中要调第三方客户端,于是归纳整理了js调用客户端exe程序的几种方法,如下: 方法一 : 使用ActiveXObject直接执行指定路径的.exe文件 ,此方法只针对IE浏览器 <html> <head> <script language"javascript"> function Run(strPath){ try {v…

windows .exe 文件默认打开方式变成记事本的解决方法

windows .exe 文件默认打开方式变成记事本的解决方法 如果cmd.exe打不开&#xff0c;先将默认打开方式切换成cmd.exe 如果用户选择了默认的模式&#xff0c;会在注册表中写一个UserChoice的注册信息&#xff0c;优先级会高一些 OpenWithList //可打开方式列表越往上应该越高 O…

Python导出exe文件

测试环境Win10Python3.6.5pyinstaller4.2 文章目录 1.第三方库安装2.Python环境确认3.exe程序封装命令4.封装参数解析 1.第三方库安装 Python导出需要用到pyinstaller库 pyinstaller安装指令&#xff1a; pip install pyinstaller安装完成以后注意pyinstaller第三方库安装到…

exe文件在服务器上打不开,EXE格式文件打不开怎么办?三个方法教你打开

exe一种可执行文件&#xff0c;如果打不开的话一般都是因为都是上网中毒所致&#xff0c;可执行文件打不开的原因是在注册表中exe的关联参数被恶意修改了&#xff0c;那么我们该如何进行恢复呢?下面&#xff0c;小编就给大家介绍电脑EXE文件打不开的解决方法。 电脑无法打开EX…

将Python程序打包成exe文件

我新写了一篇更加完整的文章&#xff0c;与这篇文章相比&#xff0c;它新增了两种打包方式&#xff1a;多python文件打包和含有资源文件的打包方式&#xff0c;具体请戳链接&#xff1a; 用 Pyinstaller 模块将 Python 程序打包成 exe 文件&#xff08;全网最全面最详细&#x…

oracle没有imp.exe,imp.exe 文件下载

通常来说&#xff0c;一个文件有很高的几率出现在某些路径(因为大部分的软件和操作系统都会将一些用到的文件复制或创建到固定的路径) 。经统计&#xff0c;imp.exe 文件通常会出现在以下路径&#xff0c;以下是每一个路径的使用率&#xff1a; 4.55% c:\app\swapneshp\product…

运行C程序生成的exe文件闪退解决方案

下面简单说几种常见的解决方法。 1.在代码段末尾加上getch();就可以了。&#xff08;代码段末尾指你程序要执行完之前&#xff0c; 一般在return 0;之前&#xff09;或者&#xff0c;加上getchar(); 也行。 原理就是停止&#xff0c;等待用户输入&#xff0c;即你没输入的话&…