Исправление MASM 8086 Linker: ошибка LNK2019: неразрешенный внешний символ _putchar - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю в Microsoft Visual Studios 2017 с 32-битным 8086 MASM.Этот точный код работал для меня раньше, но теперь по какой-то причине он больше не будет собираться.Вот сообщение об ошибке, которое я получаю:

ошибка LNK2019: неразрешенный внешний символ _putchar, указанный в функции _main

ошибка LNK2019: неразрешенный внешний символ _exit, указанный в функции _main

фатальная ошибка LNK1120: 2 неразрешенных внешних сообщения

Я видел подобные сообщения раньше, но они исчезли после того, как я перешел к отладке -> параметры -> символы, а затем поставил флажок "Серверы символов Microsoft"

Одна вещь, которая изменилась, это то, что мое интернет-соединение постоянно падает.Может ли это вызвать проблемы с доступом к серверам символов?

Если это не интернет-соединение, у меня нет идей.Я был на всем сайте и перепробовал все, что смог найти.

 .586
option casemap :none
.Model FLAT, C
.DATA
array   DWORD 44h, 61h, 6Eh, 69h, 65h, 6Ch, 0       ;Array storing 'Daniel' in Ascii
.CODE
includelib MSVCRT
extrn putchar:near
extrn exit:near

main    PROC
        mov     esi, 0              ;Set esi to 0
printChar:
        mov     eax, array[esi]     ;Load the array value at index esi into eax
    push    eax                 ;Push the value in eax onto the stack
    call    putchar             ;Print character
    inc     esi                 ;increment esi
    mov     eax, array[esi]     ;eax was emptied when we pushed the contents onto the stack, so we need to refill it.
    cmp     eax, 0              
    je      endProgram          ;End program if eax equals 0
    jmp     printChar           ;Otherwise, continue the loop
endProgram:
    call    exit
main    ENDP
END
...