Вызов функции C ++, которая берет указатели из C # - PullRequest
1 голос
/ 10 октября 2011

У меня есть функция в C ++, которая возвращает значения указателя:

fPosFirst( int &aId, char *aNname, char *aDirectory );

Но я должен передать это в C #.Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

Вам необходимо изучить P / Invoke (Платформа Invoke), способ вызова функций с собственным кодом (C и C ++) из .Net / Управляемый код (C #).

1 голос
/ 10 октября 2011

Это синтаксис VB.NET, но вы должны легко преобразовать его в C #.

Private Declare Ansi Sub fPosFirst lib "libraryname" (ByRef aId as Integer, byval aName as StringBuilder, byval aDirectory as StringBuilder)

Теперь, если aNname и aDirectory должны быть const char *, вы можете использовать String вместо StringBuilder, и это станет намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...