dllimport 문제좀 도와주세요 ㅠ

nicegml의 이미지


C++ 코드

extern "C" __declspec(dllexport) LPSTR abc(int p)
{
...
if(ULONG x == p)
LPSTR d = "xxxx";
return d;
}

C# 코드
[DllImport("hoho.dll", CallingConvention= CallingConvention.Cdecl)]
public static extern String abc(int d);
...

String s = abc(int x);
...

머가 문제길래

닷넷 4.0에선...
호출 규칙 및 PInvoke 시그니처의 매개 변수와 관리되지 않는 대상 시그니처가 일치하는지 확인하십시오.

이런 에러 나는지 모르겠네요..

닷넷 3.5에서 돌리니깐 에러는 안나고 걍 죽어버리네요 ㅜㅜ

머가 문젠거죠 ㅠㅠ

hys545의 이미지

c함수의 반환형은
LPSTR
이건 아마 char *일겁니다.

c#안에서 선언한 함수는
String이고

두개의 함수 반환형을 다르게 해야할 이유가 있나여?

즐린