Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2010, 09:50   #1
Medwedxxx
 
Регистрация: 11.08.2009
Сообщений: 4
Вопрос Не линкуется код...

Здравствуйте. Суть проблемы; не могу отлинковать готовый пример кода. создал *.bat файл с текстом для Masm32:
Код:
cd masm32
cd bin
ml.exe /c /coff D:\Программист\current.asm 
link.exe /subsystem:windows D:\Программист\current.obj
pause
По команде ml все прошло нормально, но потом он почему то не может найти файл *.obj, впрочем он и не создался почему то (????). Все пути к файлу все проверил 8 раз. в чем может быть проблема?
Код примера:
Код:
.386 
.model flat 

extrn ExitProcess:PROC 
extrn MessageBoxA:PROC 

.data 

Ttl db "First ASSEMBLER program",0h 
Msg db 'Hello, World!!!!',0h 

.code 

start: 
     push 0h 
         push offset Msg 
         push offset Ttl 
         push 0h 
         call MessageBoxA 
         push 0h 
         call ExitProcess 
end    start
Medwedxxx вне форума Ответить с цитированием
Старый 05.07.2010, 09:57   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы посмотрите папку masm32/bin

может стоит запускать masm по длинному пути без переходов? чтото около такого:
Цитата:
C:/masm32/bin/ml.exe /c /coff D:\Программист\current.asm
C:/masm32/bin/link.exe /subsystem:windows D:\Программист\current.obj
pause
тогда файл будет создаватся в текущей папке(папка с батником поидее)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 05.07.2010 в 10:01.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.07.2010, 02:45   #3
Medwedxxx
 
Регистрация: 11.08.2009
Сообщений: 4
По умолчанию

Спасибо, вроде заработало, тока 2 ошибки нашел ругается на MessageBoxA и ExitProcess. Может кто скинуть простенький код, чтоб увидеть как он родной вообще выглядит?..
Medwedxxx вне форума Ответить с цитированием
Старый 06.07.2010, 08:26   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Как ругается? Может либы забыли?
p51x вне форума Ответить с цитированием
Старый 25.07.2010, 00:16   #5
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

вот так это точно будет работать
Код:
.386
.model flat,stdcall
option casemap:none
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
.const
a db 'Hello, World!!!!',0
b db 'First ASSEMBLER program',0
.code
start:
push 40h ;MB_ICONASTERISK
push offset b ;title
push offset a ;message
push 0
call MessageBoxA
push 0
call ExitProcess
end start
если чем помог, поставьте отзыв на весы
Xatr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код С++ KennyMccormickSP Общие вопросы C/C++ 5 10.05.2010 23:49
код n! на C++ diana1002 Помощь студентам 1 01.10.2009 20:34
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
Квадратное уравнение, программа не линкуется Dimoff80 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 16.04.2009 22:37
Код на C++ Иллидан Общие вопросы Delphi 1 08.10.2008 14:02