0

さて、今日はいくつかの asm を学ぼうとしています。

私はnasmとgo linkを使用しています。この hello world は正常に動作しているようです:

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

今私の質問は: golink の代わりに alink を使用してビルドできますか? はいの場合、どうすればそれを行うことができますか?

どうもありがとう

4

1 に答える 1

0

はい、そうです...しかし、ソースを少し変更する必要があるかもしれません...そして、リンクするライブラリが必要になるかもしれません。Alink は、現在でも動作しますが、やや「時代遅れ」になっています。私は Linux を実行していますが、長い間 Windows を使用していません。最近 Windows を使っている人は GoLink を好むようです。Alink を好む理由がない限り、私は GoLink を使い続けるでしょう。(1 つの利点は、Alink のソースがあることです。Linux でも実行できます。もちろん、結果の実行可能ファイルを実行することはできません...)。本当に必要な場合は、以前は機能していた古いコードを掘り起こすことができるかもしれませんが、GoLink に固執します。(Pelle の PoLink も、おそらく MS の Link も動作するはずです)。

于 2013-01-06T20:47:03.103 に答える