Мне очень помог этот учебник по взаимодействию кода C # и неуправляемого кода C ++ в Windows Azure http://msdn.microsoft.com/en-us/hh351534
Однако, когда я изменяю это, я сталкиваюсь с некоторыми непредвиденными ошибками.
Вместо того, чтобы возвращать и отображать int
из неуправляемого кода, я хотел бы, чтобы он возвращал строку, отображающую эту строку в коде C #. Поэтому в моем эксперименте я изменил функцию AddNumbers()
с
NATIVECALCULATOR_API int AddNumbers(int left, int right){
return left+right;
}
в
NATIVECALCULATOR_API char *AddNumbers(int left, int right){
return "a string";
}
чтобы при нажатии кнопки на странице ASP.NET она возвращала «строку».
Однако в файле code.hind веб-страницы default.aspx.cs говорится, что я не могу изменить
static extern int AddNumbers(int left, int right);
в
static extern char *AddNumbers(int left, int right);
потому что «указатели могут использоваться только в небезопасном контексте»
И оттуда я перепробовал много методов, но мне не удалось преобразовать AddNumbers()
в строку для отображения.
Так что, в принципе, может кто-нибудь показать мне, как изменить учебник, чтобы отображать строку вместо int.