好的,今天我正在努力学习一些asm。
我正在使用nasm和go链接。这个问候世界似乎运作良好:
bits 32
extern _MessageBoxA@16
extern _ExitProcess@4
section .data
title db 'Somme message',0
message db 'Hello World!',0
section .text
global _start
_start:
push dword 0 ; Type = MB_OK
push dword title ; Caption
push dword message ; Message
push dword 0 ; Handle = NULL
call _MessageBoxA@16
push dword 0 ; Exit Code = EXIT_SUCCESS
call _ExitProcess@4
我可以用以下内容构建它: nasm -fwin32 test.asm golink / entry _start / mix test.obj user32.dll,kernel32.dll
现在我的问题是:我可以使用alink而不是golink构建它吗?如果是的话,我该怎么做?
非常感谢
答案 0 :(得分:0)
嗯,是的......但你可能需要稍微改变你的来源......你可能需要一个库来链接。 Alink现在有点“过时”,尽管它仍然有效。我正在运行Linux并且很长时间没有完成Windows。这些天做Windows的人似乎更喜欢GoLink。除非你有理由更喜欢Alink,否则我会坚持使用GoLink。 (一个优点是我们有Alink的源代码 - 我甚至可以在Linux上运行它!当然不能运行生成的可执行文件......)。如果你真的需要它,我或许可以挖掘一些曾经工作的过时代码......但我坚持使用GoLink。 (Pelle的PoLink也应该可以工作,也可能是MS的Link。)