У нас есть собственная библиотека, которую мы используем для выполнения задач, связанных с безопасностью. Мы написали библиотеку взаимодействия, чтобы мы могли использовать ее из .NET.
У нас есть два тестовых приложения, первое приложение написано на C ++ (неуправляемое), а второе написано на C #. Они генерируют точно такую же последовательность вызовов в нативную библиотеку, но дают разные результаты.
Я потерян и не могу найти явную ошибку в определениях импорта .NET. Я уже ошарашил, чтобы я работал только с очень простым интерфейсом. Я ищу идеи, почему вызов собственной библиотеки из среды .NET может повлиять на результат.
EDIT:
У меня нет глубоких знаний о библиотеке, поэтому я не могу многое рассказать о том, что делается в нативном коде. Я знаю, что это поддерживает (тепловой удар) поток. Другая часть библиотеки, которая используется для определения того, выполняется ли приложение на виртуальной машине, также демонстрирует такое же поведение. Это не обязательно связано.
Я написал другое тестовое приложение на C ++ / CLI, так как немного проще использовать нативную библиотеку, чем из C #, и он также дает тот же результат, что и C #.