Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.
Здравствуйте, tnikolai, Вы писали:
T>Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.
T>Как это лучше всего организовать?
С помощью makefile. По моему в Виндах так тоже можно...
Течёт вода Кубань-реки куда велят большевики.
Re[3]: Как организовать самодокомпиляцию программы.
Это скрипты, не очень подходят.
Нужно с помощью хорошего компилятора скомпилить, так как важна скорость.
Хотябы в виде dll и чтоб её можно сразу же в основном проекте было использовать.
Re[2]: Как организовать самодокомпиляцию программы.
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, tnikolai, Вы писали:
T>>Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.
T>>Как это лучше всего организовать?
A>С помощью makefile. По моему в Виндах так тоже можно...
И как потом это прикрепить к работающей в это время основной программе?
Здравствуйте, tnikolai, Вы писали:
T>Как это лучше всего организовать?
Лучше всего это организовать при помощи компилятора. Например, есть неплохой компилятор G++ из состава GCC.
Например, программа для сборки dll генерирует makefile или самостоятельно вызывает компилятор с нужными ключами сборки, после чего загружает результат при помощи LoadLibrary.
Если, предположим, оптимизация кода не очень нужна и не нужен С++, а хватит обычного С, то можно использовать комплятор TCC. С его использованием можно компилировать код в память и исполнять непосредственно оттуда, без генерации dll-библиотеки и последующей её загрузки.
Re[2]: Как организовать самодокомпиляцию программы.
С>Если, предположим, оптимизация кода не очень нужна и не нужен С++, а хватит обычного С, то можно использовать комплятор TCC. С его использованием можно компилировать код в память и исполнять непосредственно оттуда, без генерации dll-библиотеки и последующей её загрузки.
Где скачать последнюю версию можно?
Нигде ссылки не работают.
Re[3]: Как организовать самодокомпиляцию программы.
Здравствуйте, tnikolai, Вы писали:
С>>Если, предположим, оптимизация кода не очень нужна и не нужен С++, а хватит обычного С, то можно использовать комплятор TCC. С его использованием можно компилировать код в память и исполнять непосредственно оттуда, без генерации dll-библиотеки и последующей её загрузки.
T>Где скачать последнюю версию можно? T>Нигде ссылки не работают.
tnikolai пишет:
> Основная программа генерирует с++ код, который нужно скомпилировать и > добавить к основному коду. В сгенерированном коде содержатся новые > дополнительные функции для основной программы. Также чтоб была > возможность перекомпиляции добавленных кусков.
Вы чего-то странного хотите. Может вам лучше встроить какой-нибудь
инрерпретатор, и код уже на нём генерировать ?
Python, Lua ...
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Как организовать самодокомпиляцию программы.
Здравствуйте, tnikolai, Вы писали:
T>Здравствуйте, alpha21264, Вы писали:
A>>Здравствуйте, tnikolai, Вы писали:
T>>>Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.
T>>>Как это лучше всего организовать?
A>>С помощью makefile. По моему в Виндах так тоже можно...
T>И как потом это прикрепить к работающей в это время основной программе?
легко:
LoadLibrary("имя_либы.dll");
my_proc = GetProcAddress(...);
(*myproc)(...);
только вот не понятно, собираетесь тащить с собой компилятор С++?
Re[4]: Как организовать самодокомпиляцию программы.
Здравствуйте, coldfire2, Вы писали:
C>только вот не понятно, собираетесь тащить с собой компилятор С++?
Есть такой продукт — Microsoft Keyboard Layout Creater, так вот он в самом прямом смысле тащит с собой компилятор C++ + часть DDK, с помощью которых выдает готовые .dll + .msi