相关疑难解决方法(0)

如何手动创建可执行的.exe PE文件?

在解释词法分析器和解析器之后,关于如何创建编译器的所有文本都会停止.他们没有解释如何创建机器代码.我想了解端到端流程.

目前我的理解是,Windows exe文件格式称为Portable Executable.我读到了它的标题,我还没有找到一个可以轻松解释这个问题的资源.

我的下一个问题是,我没有看到任何解释机器代码如何存储在文件中的资源.是否像32位固定长度指令一样接一个地存储在该.text部分?

有没有地方至少解释如何创建一个什么都不做的exe文件(它有一个No Op指令).然后我的下一步是链接到dll文件以打印到控制台.

windows compiler-construction linker executable portable-executable

21
推荐指数
1
解决办法
5678
查看次数

如何让gcc只生成可以直接加载到内存并执行的机器代码?

我想生成一个可以加载到内存中的文件(例如with mmap),然后跳转到该内存的开头运行代码.

理想情况下,我希望选择使代码可重定位(可能效率低下)或指定代码期望加载的显式地址(这很痛苦),但任何一个都可能自行正常工作.

c linker executable gcc machine-code

17
推荐指数
2
解决办法
6896
查看次数