Использование структуры данных C / C ++ в программе на C # - PullRequest
2 голосов
/ 21 июля 2010

У меня сверхскоростная структура данных C / C ++ ( см. Здесь! ), к которой я хотел бы получить доступ и использовать в моей программе на C #.1006 * Представьте, что структура данных C / C ++ имеет открытый API (get, add, delete и т. Д.).Как я могу вызывать эти методы много раз в C # высокопроизводительным способом?

PS Прежде чем критиковать мое использованиефраза "C / C ++" ...На мой взгляд, C / C ++ отличается от языков программирования C и C ++.Я не знаю C ++, а скорее расширение C, которое использует некоторые конструкции C ++ и может быть скомпилировано с помощью компилятора C ++!

Ответы [ 2 ]

5 голосов
/ 21 июля 2010

Если производительность важна для вас, вам следует избегать пересечения управляемой / неуправляемой границы «много раз». И C #, и C ++ могут быть языками высокой производительности, но затраты на взаимодействие не очень приятны.

Я предлагаю вам написать библиотеку C (которая может быть реализована с помощью конструкций C ++ до тех пор, пока методы являются внешними из C) и вызвать ее из кода C # - только! Эта библиотека может использовать вашу высокопроизводительную структуру данных и возвращать некоторую полезную информацию стороне C #.

0 голосов
/ 21 июля 2010

Вы можете использовать трубу.

...