Использовать переменную из одной программы, написанной на C , в проекте C #

#c# #c #variables #share

#c# #c #переменные #Поделиться

Вопрос:

У меня есть своя программа, написанная на C #, и мне нужно использовать 4 переменные в другой программе, написанной на C

Программа на C имеет таймер, который считывает com-порт и преобразует биты в двойные переменные x, y и z.

До сих пор я записывал текстовый файл при каждом такте таймера, а затем считывал этот текстовый файл с помощью моей программы на C #.

Мне было интересно.. Есть ли способ для моей программы на C # получить доступ к памяти программы на C и прочитать переменные оттуда?

Комментарии:

1. Используйте P / Invoke или перенесите код C в C # (или C / CLI)

2. Интересно, я проверю, что вы предлагаете, спасибо Slaks

3. Есть много способов — помимо всего, предоставляемого операционной системой для взаимодействия между процессами (на ум приходят сокеты и разделяемая память), вы можете извлечь соответствующую часть вашей программы на C в DLL и использовать ее (либо через оболочку C / CLI, либо путем предоставления интерфейса C и использования P/Invoke).

4. Более простым решением, чем чтение необработанной памяти из программы, является межпроцессное взаимодействие , как предложил @Cameron, но это зависит от цели, поддерживающей метод IPC. Поскольку у вас, похоже, есть доступ к коду целевой программы, это не должно быть проблемой.