作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用Fasm使用简单的MsgBox
编译x64应用程序。我已经编写了代码,它可以成功编译,但是当我运行它时,没有显示任何内容,并且程序刚刚结束。怎么了?
format PE64 GUI 4.0
entry main
include 'win64a.inc'
main:
invoke MessageBox,NULL,'Hello, World!','Fasm message box:',MB_OK
invoke ExitProcess,0
library kernel32,'kernel32.dll',\
user32,'user32.dll'
include 'api/kernel32.inc'
include 'api/user32.inc'
Вызвано исключение по адресу 0x0000000000001108 в program.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x0000000000001108.
Exception at address 0x0000000000001108 in program.exe: 0xC0000005: access violation when executing address 0x0000000000001108.
最佳答案
我将其标记为社区Wiki,以便其他人可以填写其工作原理的描述。值得注意的是:
导入的的
.idata
部分.text
部分
sub rsp, 8
(或类似的push rbp
),用于根据Windows x86-64调用约定进行堆栈对齐。 include 'win64a.inc'
format PE64 GUI 4.0
entry main
section '.text' code readable executable
main:
sub rsp, 8
invoke MessageBox,NULL,'Hello, World!','Fasm message box:',MB_OK
invoke ExitProcess,0
;section '.data' data readable writeable
; Data here
section '.idata' import data readable
library kernel32,'kernel32.dll',\
user32,'user32.dll'
include 'api/kernel32.inc'
include 'api/user32.inc'
关于windows - Fasm x64讯息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61622739/
我是一名优秀的程序员,十分优秀!