Maple, обращение к dll
А.Матросов "Maple 6. Решение задач высшей математики и механики" .:- СПб. БХВ-Петербург, 2001
Замечание на стр 344.
"Автору, к сожалению, не удалось самостоятельно выполнить вызов внешней процедуры из-за непонятных проблем, связанных с компилятором Microsoft Visual C++ 6.0. Команда define_external вызывала компилятор С, транслировала сгенерированную Maple интерфейсную С-функцию, создавала библиотеку DLL и помещала в нее оттранслированную функцию и внешнюю процедуру Maple, но на этапе подключения ее к ядру Maple возникала непонятная ошибка, которую автору не удалось исправить."
Спасибо...
у многих прикладных математиков руки из жопы растут - это, между прочим, известный факт :
но компилятор MSVC++ тут не при чем
extern "C"{
__declspec(dllexport) int __cdecl f(int a, int b);
}
Если сделать так, то имя f в таблице экспортов так и останется f. И тогда, возможно, будет Вам счастье.
Воспользовался указанием - и смог передавать Maple'у функции без аргументов, а для передачи оных пришлось всё-таки исправлять вручную внутренний глюк Maple7.
Теперь я могу складывать целые числа внешними средствами.
Обещаю дополнить распухающий диплом благодарностью анониму-...
Оставить комментарий
dus1970
Существует dll, успешно собранный средствами VC++; f - функция, объявленная в нем так:Пытаюсь, пребывая внутри Maple'а, выполнить команду
Вот сообщение об ошибке:
Подскажите, если кто сталкивался, как с этим бороться.