![]() |
|
|
![]()
|
|
| Programister0 |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
пытаюсь подключить asm функцию к C проекту
вот функция:
здесь её подключаю:
и компилятору это ненравится говорит: proc_ASM.obj : error LNK2001: unresolved external symbol _mess C:\visualStudio\prj6_asm\proc_ASM\Release\proc_ASM.exe : fatal error LNK1120: 1 unresolved externals до этого писал простенькие экзамплы из книжки Юрова вот например:
все чудно работало, как начал вызывать api-е функции так начались проблемы language type must be specified и т.д. последнюю она-же вторая(проблема всмысле) решить немогу пишу на VS2005 obj - файлы создаю на masm32 need backup. |
||||||
|
|||||||
| W4FhLF |
|
||||||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Создавай lib В def файл:
Компилируем так:
Добавлено через 5 минут и 5 секунд А, ну и подключаем так:
Это сообщение отредактировал(а) W4FhLF - 15.7.2007, 12:26 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
||||||
|
|||||||
| Programister0 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
э .. нет
вот как:
далее включаю obj файл в проект прописываю
и всё! и до этого момента все просто замечательно работало (я и сам непонимаю как) в книге тоже про некоторые моменты умолчали. зачем эта dll.asm Добавлено через 3 минуты и 41 секунду извеняюсь, почемуто два раза вывелось!? |
||||
|
|||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Делай как я показал.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Programister0 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
тебя частично понял
вот батник:
создаётюся obj и lib файлы без errors и warnings, добавляю их в проект, далее пишу:
пытаясь все это откомплирывать получаю : proc_ASM.obj : error LNK2001: unresolved external symbol _mess@0 c:\visualStudio\prj6_asm\proc_ASM\Release\proc_ASM.exe : fatal error LNK1120: 1 unresolved externals а ещё я не совсем догнал что делать с def файлом и как и откуда его взять я пробовал создавать его и прописывать то что ты советывал - компилятор мне не верит, говорит: deffile.def : error LNK2001: unresolved external symbol mess |
||||
|
|||||
| W4FhLF |
|
||||||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
asm:
bat:
cpp:
Всё отлично работает. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
||||||
|
|||||||
| Programister0 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
спасибо что все разжевал W4FhLF
теперь я разобрался все можно проще сделать вот мой батник:
оказалось нужен только obj файл или lib я включал только первый и все заработало проблема была в asm коде где по соглашению stdcall надо писать _mess@0 proc ;где 0 - количество байт занимаемых параметрами в стеке я так понял по книге Юрова я ошибался! в cpp я вставил тоже самое теперь все работает ещё раз спасибо за помощь. я смотрел ваш сайт, у вас там ссылка на скачку Training Disassembler не работает. так на всякий случай сообщаю может не так задумано. |
|||
|
||||
| Programister0 |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
блин опять засада
теперь в Builder'e 6-м тоже самое немогу сделать пробовал разные параметры для ml.exe вот что советывал Юров в своей книги для создания OMF
но билдер неверит - он спокойно отвечает: [Linker Error] 'C:\BUILDER\EXAMPLE.LIB' contains invalid OMF record, type 0x21 (possibly COFF) пробовал через lib
Добавлено через 3 минуты и 19 секунд во время компановки выдает предупреждение: example.obj : warning LNK4033: converting object format from OMF to COFF значит это omf что билдеру ненравится? подключаю либ
как вы вообщем и советывали реакция таже. |
||||||
|
|||||||
| Programister0 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
нашел програмку
вместе с билдером шла - coff2omf.exe выполняю следующее:
нечего неработает! всмысле example_omf.obj создаются а работать отказываются но сообщение уже другие получаются: [Linker Error] Unresolved external 'mess' referenced from C:\BUILDER\UNIT1.OBJ |
|||
|
||||
| Programister0 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
все разобрался теперь все работает
необходимо было 1. компоновать без параметра /coff 2. преобразовывать получавшиеся obj файлы програмкой omf2d и все работает! тема закрыта! |
|||
|
||||
![]()
|
| Правила форума "Asm для Windows/DOS" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |