Методы внешних DLL - C#
Формулировка задачи:
Я не знаю куда это писать. в раздел c++ или c#.
Не получается импортировать метод из dll написанной на C++
код H-файла:
Импортирую так:
И при вызове метода получаю такое красивое исключение:
A call to PInvoke function 'WindowsFormsApplication2!WindowsFormsApplication2.Form1::Test' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.
#ifndef C64MAIN_H #define C64MAIN_H #include "iostream" #include "windows.h" #include "conio.h" #include "tlhelp32.h" #include "stdio.h" extern "C" { __declspec( dllexport ) unsigned long GetModuleAdress(DWORD, char*); __declspec( dllexport ) int Test(int); } #endif
[DllImport("C64")] static extern int Test(int i);
Решение задачи: «Методы внешних DLL»
textual
Листинг программы
[DllImport("C64", CallingConvention = CallingConvention.Cdecl)]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д