我知道可执行文件包含指令,但这些指令到底是什么?如果我想调用MessageBox
以 API 函数为例,指令是什么样的?
谢谢。
最佳答案
Executables是操作系统可以理解的二进制文件。可执行文件将包含其中包含数据的部分。 Windows 使用 PE format . PE 格式有一个部分有 machine指示。这些指令只是按顺序排列的数字,CPU 可以理解。
对 MessageBox() 的函数调用将是一系列指令,这些指令将
1)具有DLL中的函数地址。这个地址是编译器输入的
2) 将参数“插入”堆栈的指令
3)实际的函数调用
4)某种清理(取决于调用约定)。
重要的是要记住 EXE 文件只是特殊格式的文件。我没有反汇编,但您可以尝试编译您的代码,然后在 Visual Studio 中打开您的 EXE 以查看反汇编。
关于binary - 可执行文件究竟是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1616772/