Другие языки программирования и технологии

Как динамически расширять программы для платформы win32 написанные на C++?

Допустим, имеется одна простая программа. Как сделать, чтоб она динамически загружала библиотеку? То есть, допустим пользователь запустил прогу, и входит в функцию main() передаёт ей путь, в котором файл исходного кода, а она компилирует этот исходник, и расширяет свой функционал. Какая команда в win32api, или в C++ это делает?
Это не будет простая программа. В состав такой программы, точнее, программного пакета, как минимум, должен входить компилятор C++. А с учетом того, что в исходном коде наверняка будут ошибки, в состав твоей "простой программы" должна входить полноценная среда программирования на C++.
КЛ
Кенжемырза Лепесбаев
86 624
Лучший ответ
Леха Лямаев > А с учетом того, что в исходном коде наверняка будут ошибки, в состав твоей "простой программы" должна входить полноценная среда программирования на C++.
Этой логической цепочки не понял.
Вадим Митюшкин компилятор не нужен, нужно делать модульную архитектуру приложения и api для работы модулей и приложение должно из себя представлять виртуальным доменом к которому ты подключаешь модули и приложение должно само себя опрашивать и здесь надо что-то вроде сервиса в винде писать, который в фоне все это делать будет :)
а если писать для среды .net framework, то это можно сделать средствами фреймворка и сервис не нужен, но здесь нужно знать внутреннее устройство среды clr и тут читайте рихтера он все подробно объясняет :)
надо делать модульную архитектуру на стадии проектирования, и если писать в среде .net clr, то можно модули на лету включать в домен приложения, надо только реализовать периодическое сканирование папки с модулями и при обнаружении новых включать в домен приложения и они сразу начнут работать, я на c# это сделал для самописного мною фреймворка для разработки веб-приложении asp.net, сейчас его дополняю поддержкой asp.net core, там плагин и xml с описанием кидаешь в указанную папку и он сканирует раз в час и при обнаружении новых подключает модули на ходу и изредка требует рестартнуть веб-сервер
Valerij Kwiatkowski
Valerij Kwiatkowski
35 569
никакая... ты не правильно себе представляешь принцип работы программ видать...
Ты видать раньше на скриптовом Языке писал, где программа работает прямо с кода, как JS?
Скомпилированная программа изменятся не может.
Для твоего случая выход примерно такой:
Первая программа что-то творит.... и теперь надо обработать что-то... она сохраняет в отдельном файле нужные данные посылает второй программе список параметров.
Вторая программа - контроллер, который берёт список параметров, ищет программу, указанную в списке параметров и пердаёт ей сигнал, чтоб в прорамма Взялась за обработку.
Третья программа отработала... Возвращает первой программе что всё готово.

Это оч наивный и примитивный способ, но по сути тебе пойдёт, можно изходя из него придумать чо-то получше.
ММ
Максим Мохов
15 046

Похожие вопросы