문제가 있습니다. 나는 다음과 같이 정의 내 DLL에서 함수가 : 나는 성공적에서 LoadLibrary를 사용하여 콘솔 응용 프로그램에서 내 DLL을로드DLL에서 char * 가져 오기
int function(char *inVal, char *outVal, int *retVal)
을, 난 함수 포인터 내 함수를 호출 : 다음
typedef int (__cdecl *functionPtr)(char *, char *,int *);
를 I 내 함수 내 inval이 통과 :
char * inVal = "input";
지금 내 outVal 및 RETVAL 싶어, 나는 성공적으로 RETVAL 가지고있다하지만 내 outVal은 NULL입니다 :
int retVal = 0;
char outVal[200] = {0};
는 내 함수를 호출 :
int return = functionLNK(inVal , outVal, &retVal)
단서를!?
EDIT 1
코드는 다음과 같이된다 :
int function(char *inVal, char *outVal, int *retVal)
{
PKI_Buf inBuf, signBuf, pemBuf;
......
outVal = (char*)pemBuf.data;
//I check outVal in this point and it is not NULL
}
내 dll의 로그를 확인했는데 내 dll의 outVal이 NULL이 아닙니다. – A23149577
'char outVal [200] = {0};'을 (를) 사용하셨습니까? –
예 제가 편집했습니다 – A23149577