0

我有以下代码:

include stdlib.a
includelib stdlib.lib

但是在组装时,它给了我一个错误:“无法打开文件:stdlib.a

我没有任何名为“stdlib.lib”或“stdlib.a”的文件。

我一直在寻找那些文件,但我找不到它们。我能找到的唯一文件是“stdlib.h”(看看 Ramhound 的答案),但 WinAsm 在编译时无法识别它。

有没有办法将“stdlib.h”转换为“stdlib.lib”或“stdlib.a”,或者在汇编中使用?(来自 Ramhound 的回答:*“stdlib.h”是头文件,而不是库。它不能转换为“stdlib.lib”或“stdlib.a”*)。

谢谢!!!

编辑 1 在 Ramhound 的回答中,他解释说stdlib.h是一个“标题”,而不是一个库。有人可以帮我解决stdlib.libstdlib.a吗?

我一直在寻找那些文件,但我找不到它们。我会很感激这些图书馆的一些帮助。(为什么每个人都有,但我找不到下载地址?

4

1 回答 1

0

WinASM 是一个 IDE,而不是一个汇编程序。两者都是includeMASM includelib。如果你想使用 C 函数,你需要链接微软的 C 运行时 - MSVCRT.dll。MASM32 包含inc和导入库:

include msvcrt.inc
includelib msvcrt.lib

MASM32 导入库crt_添加到函数名称之前,因此wscanf会被调用crt_wscanf

于 2013-04-06T02:36:53.457 回答