У меня есть метод c ++ plus, который генерирует значение.я вызываю этот метод из приложения ac #.
Метод C ++ выглядит следующим образом:
extern "C" REGISTRATION_API char * generate(char dIn[],char dOut[])
Метод generate
возвращает массив символов (sOut[]=returnvalue; return sOut;
)
Теперь я вызываю этот метод из моего приложения на c #:
[DllImport("mydll.dll")]
static extern string generate(string sIn, string sOut);
Как видите, тип возврата в c # - string
.Происходит то, что возвращаемое значение в c # неверно и оно повреждено.(Значение является правильным внутри метода generate
, но всякий раз, когда я вызываю его из c #, чтобы извлечь его, я получаю какое-то ошибочное значение.)
Это нормально, что мой метод в C # имеет возврат string
значение в то время как в C ++ это char*
?Пожалуйста, поделитесь своими комментариями, это срочно, спасибо.