Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с использованием WinAPI, При компиляции/линковании ошибки :( 
:(
    Опции темы
arshvin
Дата 21.11.2007, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.11.2007

Репутация: нет
Всего: нет



Здравствуйте уважаемые эксперты!!! хотел задать вопрос по созданию программ под Win32 на асме...у меня такая проблема: есть например простой код который (который приведен в приложении) вызывает (или должен ;) ) одну API функцию ExitProcess,вроде она описана директивой как внешняя а также директивой extrn ExitProcess: PROC, а вот тут у меня появляется несколько непоняток: если перед этой директивой написать include w32.inc (функция там упоминается) то при обработке этого кода TASM32 он пишет ошибку **Error** w32.inc(5023) PROCDESC(2) Symbol already different kind: EXITPROCESS хотя во включаемом файле заголовок функции упоминается только 1 раз :( (хотя неважно эта функция или другая от этого ничего не меняется сообщение - он ругается и на нее) если попробовать вместо файла inc включить lib то он (TASM32) пишет **Fatal** import32.inc(4) Line too long :( если же попробовать не указывать директиву include то TASM32 это "съедает" но TLINK32 говорит Unresolved external 'EXITPROCESS' referenced from module asm.ASM (причем если в командной строке указываешь после файла obj и библиотеку lib которая как написано содержит основные функции API).Я уже пробовал и ключи /mx /ml для TASM32'го но линкер опять же не хочет это понимать :( Объясните пожалуйста может я что то не так делаю в коде может что то свкючаемым файлом или с библиотеками (хотя я брал несколько пакетов TASM и даже тот который распаковывается - ну типа инсталяционный пакет) может для таких случаев надо использовать какие то ключи для TASM32 и TLINK32? :(незнаю но в книгах по асму этому вопросу не сильно уделяют внимания то есть "...типа есть такая вещь вот так указываешь и все работает"

       .586p
       .model  flat
include import32.inc
extrn ExitProcess: PROC

        .data

        db      0

        .code

 test:
        push    00000000h
        call    ExitProcess

end     test


PM MAIL   Вверх
dumb
Дата 21.11.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



если используется 12. TASM 5+ [Borland Corp. and !tE], то:
Код

;сборка:
;tasm32 /mx /m4 /z test.asm
;tlink32 -x -c -aa test
.586p
.model flat, stdcall
includelib \tasm5\lib\imp32i.lib
include \tasm5\include\w32.inc
.data
db 0
.code
start:
  call    ExitProcess, 0
end start

между прочим, во всех известных мне дистрибутивах asm'а есть папки examples. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.