Как в проекте из c++ и C# кода сделать callback`и меджу языками?
Доброго времени!
Суть проблемы состоит в том, что имеется GUI приложение на C#, там немного логики и обработка прием/передачи по COM. есть код на СИ, который нужно вызывать из C#. Код на СИ использует тот же последовательный порт, что и программа на c#.
малой кровью у меня не получится перевести код с си в cli. Там довольно много кода. и возникает риск появления новых ошибок.
Подскажите пожалуйста, как обычно решают такие проблемы?
Всем спасибо!
Это будет здорово затратно по времени и вряд ли получится с первой попытки перенести на C# код с чистых СИ. Ведь там встречаются различные операции с указателями, передачами по ссылке, работа с ними итп. на правильную интерпритацию написанного тоже пойдет время.
Наверняка ведь как то можно подсунуть сишную dll в проект...
Вообще я согласен с Вашим мнением, но оно имеет место быть на раннем этапе проекта.
Как один из вариантов, это сделать .exe из кода в библиотеке, только организовать входные параметры таким образом, чтобы этим exe можно было пользоваться как функцией. т.е. открывать программу с определенными аргументами и в цикле, пока программа не вернет системе какое то значение, обрабатывать ее возвращаемые сообщения. но мне кажется это дурно попахивает...)
В общим, решение было принято следующее.
Я сделал exe`шник, который на вход принимает различные параметры, в зависимости от которых выполняется та или иная функциональность. из C# программы вызывается этот файл, на вход передаются нужные параметры и все работает:)
Получилось довольно удобно и быстро. Думаю это один из самых дешевых способов, когда не знаешь круто всякие маршалинги итп.
Всем спасибо!