Dllimport / PInvoke бинарная совместимость - PullRequest
0 голосов
/ 26 января 2020

Я изучаю PInvoke для использования библиотеки C ++ (с C -Style-интерфейсом) в C#. После прочтения документации и поиска в Google / StackOverflow дополнительной информации мне было интересно узнать о двоичной совместимости собственной библиотеки и. Net. Кажется, я где-то какое-то время читал go, но больше не мог найти. И я не смог найти ничего другого по этому поводу.

Когда я компилирую C / C ++ для использования в. Net, нужно ли мне использовать определенные конфигурации, такие как флаги компилятора, чтобы сделать его совместимым с PInvoke? Могу ли я использовать собственные библиотеки, созданные с использованием разных компиляторов, в одном проекте. Net, при условии, что эти библиотеки не зависят друг от друга?

Есть еще что-то, что мне нужно знать о компиляции C / C ++. Net PInvoke?

Я хотел бы использовать G CC и CLang с проектами CMake для создания собственных библиотек.

1 Ответ

0 голосов
/ 27 января 2020

P / Invoke имеет множество адаптационных возможностей. Также P / Invoke является кроссплатформенным (с. NET Core).

Однако, это не двоично совместимо с C / C ++, но если часть кода C / C ++ может быть используемый P / Invoke, он не зависит от компилятора C / C ++ (MSV C или другого) или, иначе говоря, не сможет использовать какую-либо конструкцию C ++, но будет видеть все компиляторы C ++ равными граждане

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