Страница 1 из 1
Помогите новичку отлинковать, пожалуйста
Добавлено: 04 июл 2008, 10:43
Арсений
Здравствуйте. Такая проблема: теорию изучил, но с практикой облом. Компилировать научился, но с линковкой возникают проблемы, решение которых я не могу найти. Написал простейшую програмку. Вот она:
Код: Выделить всё
.386
.model flat, stdcall
exitprocess proto,
x:dword
.code
start proc
mov eax, 50
add eax, 20
invoke exitprocess, 0
start endp
end start
вот, компиляция и линковка
http://depositfiles.com/files/6380780
Пожалуйста, подскажите, как правильно провести линковку(для консоли).
Заранее благодарен, Быков Арсений.
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 04 июл 2008, 11:31
airyashov
библиотеки нужны masm kernel32.lib
у вас линковщик не занет что такое "exitprocess"
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 04 июл 2008, 12:04
airyashov
вот пример
Код: Выделить всё
.386
.model flat, stdcall
option casemap :none
ExitProcess PROTO :D WORD
.code
start proc
mov eax, 50
add eax, 20
invoke ExitProcess, 0
start endp
end start
компиляция
ml /c testlink.asm
линковка
link32 /debug /subsystem:console testlink.obj kernel32.lib /ENTRY:_start
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 04 июл 2008, 23:58
Арсений
линковка
link32 /debug /subsystem:console testlink.obj kernel32.lib /ENTRY:_start
Пробовал, не получилось. Ссылку на скрин укажу позже. Пожалуйста, уточните(у меня link32 не нашлось) компилятор и его версию(у мня masm32 9.0). Ещё хотелось бы узнать что за опция /ENTRY:_start .
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 05 июл 2008, 10:32
Арсений
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 08 июл 2008, 11:01
airyashov
C:\masm32\BIN>link /debug /subsystem:console testlink.obj C:\masm32\lib\kernel32.lib /ENTRY:start
/ENTRY:start-указание точки входа, имя функции в правильном регистре напишите ExitProcess<>exitprocess
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 12 июл 2008, 15:48
Арсений
Спасибо, airyashov, что помогаете, но компилятор опять:
http://depositfiles.com/files/6537731
Пожалуйста, подскажите, что ещё можно сделать, или на какой компилятор перейти.
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 12 июл 2008, 20:42
Serge_Bliznykov
просто развлечения для..
скачал MASM32
отсюда
install.exe не запустился, ручками запустил 7-Zip и распаковал архив в
C:\MASM32
переписал в C:\MASM32\lib выложенный
airyashov kernel32.lib
перешёл в папку C:\MASM32\
создал там файл testlink.asm
.386
.model flat, stdcall
option casemap :none
ExitProcess PROTO

WORD
.code
start proc
mov eax, 50
add eax, 20
invoke ExitProcess, 0
start endp
end start
перешел в папку C:\MASM32\bin\
и там выполнил последовательно команды:
ml /c C:\MASM32\testlink.asm
link /debug /subsystem:console testlink.obj C:\masm32\lib\kernel32.lib /ENTRY:start
получил одно предупреждение:
(testlink.obj : warning LNK4033: converting object format from OMF to COFF)
но создался файл C:\MASM32\bin\testlink.exe
Re: Помогите новичку отлинковать, пожалуйста
Добавлено: 13 июл 2008, 00:10
Арсений
Да, дайствительно и у меня запахало.

В папке bin создался exe файл. Большое спасибо.
Однако остается вопрос, связаннный с файлом библотеки. Может ли повториться сиуация, с отсутствием какой-либо процедуры и в другой библиотеке ? Может ли кто порекомендовать проверенный файлы библиотек, компилятор ? Заранее спасибо за информацию.