|
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
|
|||||||||||||||||||||
Не могу вызвать функцию из .dll22.07.2013, 00:33. Показов 6930. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|