|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|||||||||||||||||||||
Не могу вызвать функцию из .dll22.07.2013, 00:33. Показов 7042. Ответов 36
Метки нет (Все метки)
Добрый день ... Полазил по форумам и гайдам ....
Пишу такой вот header:
Теперь сам проект из которого явным способом пытаюсь вызвать функции (.dll добавил в проект через Shift+Alt+A):
0
|
|||||||||||||||||||||
| 22.07.2013, 00:33 | |
|
Ответы с готовыми решениями:
36
Не могу вызвать функцию из dll С++ в С# в системе Win 7 64bit, MSVS 2008 Вызвать функцию из dll с неопределённым числом параметров Как из DLL вызвать функцию, находящуюся в exe? |
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
||
| 23.07.2013, 13:12 [ТС] | ||
|
Убрал из проекта .. ничего не поменялось...
0
|
||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||||
| 23.07.2013, 13:13 | ||||||
|
вот такой код:
1 0 00011177 _function2@16 = @ILT+370(_function2@16) 2 1 0001101E _function@8 = @ILT+25(_function@8) Вопросы? Добавлено через 46 секунд stdcall и extern "c" никак не влияет на декорирование
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|
| 23.07.2013, 13:24 [ТС] | |
|
Создал новый проект с этим же кодом без .def-файла .. теперь .dll собралась, а вот адрес не могу "взять" .. поскольку имена функций линкер сделал такими: _function@8 , _function2@16....
При вызове функций _function и _function2 .. не берет адрес .. а при _function@8 , _function2@16 начинает вылетать ошибка при передачи аргументов в функцию во время выполнения: Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
0
|
|
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
| 23.07.2013, 13:29 | |
|
0
|
|
|
|
|
| 23.07.2013, 13:29 | |
|
NativeLand, в папке с готовой .dll есть файл .lib (это import library), подключай его к своей программе, делай #include "mbdll.h" и все будет работать без LoadLibrary и GetProcAddress.
Т.е. просто обращаешься к функциям: c = function( 2, 3 );
0
|
|
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|||||||
| 23.07.2013, 13:36 [ТС] | |||||||
0
|
|||||||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
| 23.07.2013, 13:37 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|||
| 23.07.2013, 13:46 [ТС] | |||
|
Сей час просто пытаюсь понять как собрать уже библиотеку с extern "C" .. а потом как ее подключить имея лишь 1 .dll (ведь не факт, что я буду пользоваться библиотеками с .lib, header в дальнейшем .. пока есть время пытаюсь разобраться и научиться)... Добавлено через 7 минут
0
|
|||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|||||||||||||||||||||||
| 23.07.2013, 13:48 | |||||||||||||||||||||||
|
mbdll.h:
0
|
|||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
||
| 23.07.2013, 13:55 [ТС] | ||
|
.dll собралась ... В экспорте видит функции: function and function2 нормально Подключаю в другой проект .dll .. берет адрес нормально теперь .. компилит норм .. но при "исполнении" .exe вылетает следующая ошибка: Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention. Та же ошибка вылетает .. если собрать .dll и без .def файла .... Что удивительно .. исчезает, если подключить библиотеку с exterc "C++" и деф-файлом ...
0
|
||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
| 23.07.2013, 13:57 | |
|
значит у тебя по разному обьявлены экспортируемые функции и указатели в на них в экзешнике
Добавлено через 28 секунд приведи код mbdll.h из длл и код экзешника
0
|
|
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|||||||||||
| 23.07.2013, 14:03 [ТС] | |||||||||||
|
Код .exe
0
|
|||||||||||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||||
| 23.07.2013, 14:05 | ||||||
|
попробуй так обьявить указатели:
1
|
||||||
|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|
| 23.07.2013, 14:11 [ТС] | |
|
0
|
|
| 23.07.2013, 14:11 | |
|
Не могу вызвать функцию Как вызвать функцию, описанную в DLL через Custom Action в wix? Не могу вызвать функцию через указатель Могу ли я поменять какую-нибудь функцию в готовой dll-ке? Вызвать функцию из dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|