![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Подключение библиотеки, написанной на Asm, к C-программе |
|
Подключение библиотеки, написанной на Asm, к C-программе
|
Пользователь Сообщения: 130 |
У меня такая проблема: я написал программу на Visual C и мне нужно использовать в ней функцию, написанную на Assemblerе (MASM32).
И программа, и эта процедура скомпилировались нормально, а вот при связывании (линковке) начались проблемы: хотя процедура на Ассемблере и ее прототип в C называются одинаково, после компиляции они получают разные имена, (т.е. изначально процедура называлась procMD5hash, после компиляции в MASM32 она называется _procMD5hash@12, а после компиляции в C - ?procMD5hash@@YAXPADH0@Z), соответственно, link дает сообщение fatal error LNK1120: 1 unresolved externals. Кто-нибудь знает, как с этим бороться? |
|
------- Отправлено: 07:14, 10-08-2003 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать XXXX Pro
Ну, наверное еомпилировать программу в режиме C, а не C++, во-первых. Ну или написать extern "C" в прототипе используемой функции. В MASM'е, наверняка тоже есть ключики для того, что бы давать экспортируемым функциям сишные названия, но я его не знаю, т.к. масмом не пользуюсь (nasm рулит ![]() |
------- Отправлено: 13:15, 10-08-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 130
|
Профиль | Сайт | Цитировать Да, оказалось, что добавить extern "C" и объявить функцию как stdcall, и все скомпилировалось нормально. Спасибо!
|
------- Отправлено: 23:33, 10-08-2003 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Assm - ASM & Microsoft Visual C++ 2008 Express Edition | SS3 | Программирование и базы данных | 2 | 15-10-2010 16:25 | |
Народ помогите разобраться в asm'e! | novichek_new | Программирование и базы данных | 8 | 30-12-2005 18:55 | |
asm to pas | Mavlyudov | Программирование и базы данных | 4 | 17-05-2005 14:52 | |
Память, asm и BSD | Guest | Программирование и базы данных | 1 | 19-09-2004 22:40 | |
Asm in freeBSD | Guest | Программирование и базы данных | 1 | 14-06-2004 18:08 |
|