如何在 Windows 中的程序集中使用系统调用

问题描述 投票:0回答:1

我正在尝试在Windows上使用汇编进行编程,但这非常痛苦,我正在尝试制作一个简单的程序,在完成时返回退出代码,但是(与Linux相反)没有关于系统调用的文档Windows 代码。

因此,我直接研究如何做到这一点,但几乎没有任何信息,我读过为了进行此系统调用,我需要包含来自诸如 kernel32 或 User32 之类的库的函数,但我不能将它们链接到我的程序中,因为所有这些库都是 .dll 而不是 .lib/.a 并且链接器显然会向我抛出这些库不存在的错误,下一个代码是(唯一出现在这个主题是这个视频)我从视频中逐行复制了:

global _main
extern _MessageBoxA@16

section .text

_main:
    push 0
    push 0
    push hello
    push 0
    call _MessageBoxA@16


hello:
    db "Hello, World", 0

所有这些都使用 NASM 汇编器和 Visual Studio 构建工具环境中的下一个命令'vcvars32''link /entry:main /subsystem:windows main.obj user32.lib'

这就是我所尝试的,我需要知道如何链接这些库,如何从中导入函数,如何进行系统调用。所有这些只是为了为没有功能的程序制作退出代码(或者在上面的代码中创建消息框)

windows assembly winapi nasm system-calls
1个回答
0
投票

解决方案是下载 SDK 并从那里获取库

© www.soinside.com 2019 - 2024. All rights reserved.