Программное обеспечение C++ 2, разные модели и контроллеры той же модели

Я ищу элегантный и практичный способ разделения модели между двумя программами без их компиляции по отдельности.

Я разрабатываю 2 разных программного обеспечения для одного и того же клиента. Оба имеют одинаковые функции по-разному (оптимизация заполнения объема). Но пользовательский интерфейс тяжел и отличается, поэтому я хочу разделить их на 2 разных программного обеспечения для ясности.

Но для того, чтобы повторно использовать код и сделать его легко обслуживаемым, мне нужна архитектура, подобная ядру, и два отдельных / специализированных слоя для каждого софта.

Я думал о создании.dll или.so, чтобы оба приложения могли обмениваться ими, но я работаю в Linux, и клиент использует Windows, поэтому я считаю, что переносить приложение таким способом довольно тяжело. (У меня нет компьютера под управлением Windows, так что я иду на поздний порт)

Я также думал о создании программы командной строки в качестве ядра и вызове ее через оболочку во время работы программ, но это невозможно сделать переносимым способом.

Есть ли простой и переносимый способ сделать это (очень похожий на импорт модулей в python), о котором я не нашел в C++? или если нет, то было бы лучше использовать общую библиотеку или скомпилировать оба софта с включенным ядром?

1 ответ

Решение

"компилировать оба софта с включенным ядром" - предпочтительнее с точки зрения разработчика.

Если вы действительно хотите использовать кусок скомпилированного кроссплатформенного кода, вам, вероятно, придется написать dll в стиле c.

Другие вопросы по тегам