Методы внешних 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)]

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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