C++ vs C#
От: VVVa  
Дата: 18.06.18 15:58
Оценка:
как статически вызвать функцию написанную на С++(в библиотеке) из С#

extern "C"{

    __declspec( dllexport ) void* /*__stdcall*/ bignStdParams128()// если раскоментировать __stdcall то ненайдёт функцию
    {
        ...
        return 0;
    }
    __declspec( dllexport )void __stdcall bignStdParamsClose(void* p){
        free((void*)p);
    }

}

[cs]
    //всё перепробовал но если CallingConvention.StdCall заменить на другой вызов (и в с++ тоже) то ругается на стек 
        [DllImport("Bee2.dll", /*EntryPoint = "bignStdParams128", CharSet = CharSet.Unicode,*/ CallingConvention = CallingConvention.StdCall)]
        public static extern int bignStdParams128();
        [DllImport("Bee2.dll", CallingConvention = CallingConvention.StdCall)]
        public static extern void bignStdParamsClose(long p);
[/cs]

в чём косяк?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.