1

Я пытаюсь запустить следующий код в Visual Studio 2015, в который встроен MASM. Я пытаюсь связать файлы библиотеки Irvine с программой. Тем не менее, я получаю как 49 из следующих ошибок.Visual Studio include 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 у вас есть? (т. е. какое издание книги Кипа Ирвина это?) Кроме того, вы можете вставить фрагмент того, что находится на линиях ошибок и вокруг строк в SmallWin.inc. Похоже, что Visual Studio использует 64-битный MASM для сборки этого 32-битного кода, но это всего лишь предположение. – byteptr

+0

Вы правы, я пытался использовать x64 MASM для сборки 32-битного кода. – ISM34

ответ

0

Попытка скомпилировать 32-разрядную программу в 64-разрядном программном приложении MASM. Необходимо настроить Visual Studios для 32-разрядного ассемблерного проекта.

+0

Чтобы переключиться между другой платформой MASM (то есть 32-бит = ml.exe/64-bit = ml64.exe), опустите поле платформы на панели инструментов Visual Studio и переключитесь между x86/Win32 и x64. Вы также можете редактировать конфигурации конфигурации платформы в диалоговом окне Configuration Manager. – byteptr

 Смежные вопросы

  • Нет связанных вопросов^_^