1

MASMが組み込まれたVisual Studio 2015で次のコードを実行しようとしています。私はアーバインライブラリファイルをプログラムにリンクしようとしています。しかし、私は次のエラーのうちの49のようになります。ここでVisual Studioには、irvine32.incがSmallWin.incエラーを生成します。

A2C \Irvine\SmallWin.inc(11)or specified size 
A2C \Irvine\SmallWin.inc(12)or specified size 
A2C \Irvine\SmallWin.inc(299)for specified size 

は私のコード

ExitProcess PROTO 

includelib C:\Irvine\Kernel32.Lib 
includelib C:\Irvine\User32.Lib 
includelib C:\Irvine\Irvine32.lib 
include Irvine32.inc 

.data 
str1 BYTE "This line is displayed in color",0 

.code 
main PROC 

    mov eax, black + (white * 16) ; black on white backgrouund 
    mov ecx,4 ; loop counter 

L1: call SetTextColor 
    mov edx,OFFSET str1 
    call WriteString 
    call Crlf 
    add eax,2 ; add 2 to foreground color 
    loop L1 

    call ExitProcess 
main ENDP 
END 

なぜアーバインライブラリがリンクされていないのですか?

+0

Irvine32ライブラリのエディションはありますか? (つまり、Kip Irvineの本の版は何ですか?)また、SmallWin.incのエラー行とその周辺のスニペットを貼り付けることができます。 Visual Studioが64ビットMASMを使用してこの32ビットコードを組み立てているように思えますが、これはまあまあです。 – byteptr

+0

あなたが正しいです、私は32ビットコードをアセンブルするためにx64 MASMを使用しようとしていました。 – ISM34

答えて

0

64ビットMASMプログラムアプリケーションで32ビットプログラムをコンパイルしようとしています。 Visual Studioで32ビットのアセンブリ言語プロジェクトをセットアップする必要があります。

+0

異なるMASMプラットフォーム(32ビット= ml.exe/64ビット= ml64.exe)を切り替えるには、Visual Studioツールバーのプラットフォームボックスをドロップダウンし、x86/Win32とx64を切り替えます。 Configuration Managerダイアログから、特定のプラットフォームビルド構成を編集することもできます。 – byteptr

関連する問題