Методы внешних DLL - C#

Узнай цену своей работы

Формулировка задачи:

Я не знаю куда это писать. в раздел c++ или c#. Не получается импортировать метод из dll написанной на C++ код H-файла:
#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);
И при вызове метода получаю такое красивое исключение: 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.

Решение задачи: «Методы внешних DLL»

textual
Листинг программы
[DllImport("C64", CallingConvention = CallingConvention.Cdecl)]

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы