Моя проблема в том, что у меня есть некоторые функции в DLL, некоторые из этих функций, например:
#include <string>
using namespace std;
extern "C" __declspec(dllexport) string __cdecl encryption(string s)
{
return s;
}
Всякий раз, когда я пытаюсь вызвать эту функцию из C #, вот код, который я использую:
[DllImport("Packer.dll", EntryPoint = "encryption")]
static extern string encryption(string s);
Я получаю ошибку: вызов функции PInvoke 'Packer' разбалансировал стек.Это вероятно потому, что управляемая подпись PInvoke не соответствует неуправляемой целевой подписи.Убедитесь, что соглашение о вызовах и параметры подписи PInvoke совпадают с целевой неуправляемой подписью.
Я предполагаю, что получаю эту ошибку, потому что у меня нет правильных объявлений для функции, может кто-нибудь подсказать мне, как это исправить, спасибо взаранее