Как организовать самодокомпиляцию программы.
От: tnikolai  
Дата: 21.02.09 09:18
Оценка:
Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.

Как это лучше всего организовать?
Re: Как организовать самодокомпиляцию программы.
От: Аноним  
Дата: 21.02.09 09:32
Оценка:
http://rsdn.ru/forum/message/3202395.1.aspx
Автор: remark
Дата: 05.12.08
Re[2]: Как организовать самодокомпиляцию программы.
От: Аноним  
Дата: 21.02.09 09:37
Оценка:
А>http://rsdn.ru/forum/message/3202395.1.aspx
Автор: remark
Дата: 05.12.08

не ту закладку копировал, вот та:
http://rsdn.ru/forum/message/3208886.1.aspx
Автор: remark
Дата: 10.12.08
Re: Как организовать самодокомпиляцию программы.
От: alpha21264 СССР  
Дата: 21.02.09 09:38
Оценка:
Здравствуйте, tnikolai, Вы писали:

T>Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.


T>Как это лучше всего организовать?


С помощью makefile. По моему в Виндах так тоже можно...

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Как организовать самодокомпиляцию программы.
От: tnikolai  
Дата: 21.02.09 10:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>http://rsdn.ru/forum/message/3202395.1.aspx
Автор: remark
Дата: 05.12.08

А>не ту закладку копировал, вот та:
А>http://rsdn.ru/forum/message/3208886.1.aspx
Автор: remark
Дата: 10.12.08


Это скрипты, не очень подходят.
Нужно с помощью хорошего компилятора скомпилить, так как важна скорость.
Хотябы в виде dll и чтоб её можно сразу же в основном проекте было использовать.
Re[2]: Как организовать самодокомпиляцию программы.
От: tnikolai  
Дата: 21.02.09 10:43
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, tnikolai, Вы писали:


T>>Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.


T>>Как это лучше всего организовать?


A>С помощью makefile. По моему в Виндах так тоже можно...


И как потом это прикрепить к работающей в это время основной программе?
Re: Как организовать самодокомпиляцию программы.
От: Сергей  
Дата: 21.02.09 10:52
Оценка: 3 (1)
Здравствуйте, tnikolai, Вы писали:

T>Как это лучше всего организовать?


Лучше всего это организовать при помощи компилятора. Например, есть неплохой компилятор G++ из состава GCC.
Например, программа для сборки dll генерирует makefile или самостоятельно вызывает компилятор с нужными ключами сборки, после чего загружает результат при помощи LoadLibrary.

Если, предположим, оптимизация кода не очень нужна и не нужен С++, а хватит обычного С, то можно использовать комплятор TCC. С его использованием можно компилировать код в память и исполнять непосредственно оттуда, без генерации dll-библиотеки и последующей её загрузки.
Re[2]: Как организовать самодокомпиляцию программы.
От: tnikolai  
Дата: 21.02.09 12:21
Оценка:
С>Если, предположим, оптимизация кода не очень нужна и не нужен С++, а хватит обычного С, то можно использовать комплятор TCC. С его использованием можно компилировать код в память и исполнять непосредственно оттуда, без генерации dll-библиотеки и последующей её загрузки.

Где скачать последнюю версию можно?
Нигде ссылки не работают.
Re[3]: Как организовать самодокомпиляцию программы.
От: Сергей  
Дата: 21.02.09 13:03
Оценка:
Здравствуйте, tnikolai, Вы писали:

С>>Если, предположим, оптимизация кода не очень нужна и не нужен С++, а хватит обычного С, то можно использовать комплятор TCC. С его использованием можно компилировать код в память и исполнять непосредственно оттуда, без генерации dll-библиотеки и последующей её загрузки.


T>Где скачать последнюю версию можно?

T>Нигде ссылки не работают.

На странице, на которую я давал ссылку, есть раздел "Download". Там есть ссылки на исходники и на бинарную сборку под Windows — у меня прекрасно скачалось.
На всякий случай вот эти ссылки явно:
http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.24.tar.bz2
http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.24-win32-bin.zip
Re[4]: Как организовать самодокомпиляцию программы.
От: tnikolai  
Дата: 21.02.09 21:02
Оценка:
С>На странице, на которую я давал ссылку, есть раздел "Download". Там есть ссылки на исходники и на бинарную сборку под Windows — у меня прекрасно скачалось.
С>На всякий случай вот эти ссылки явно:
С>http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.24.tar.bz2
С>http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.24-win32-bin.zip

Я на них заходил, но попадаеш на http://ftp.cc.uoc.gr/.404.html
Никак не скачивает
Re[5]: Как организовать самодокомпиляцию программы.
От: tnikolai  
Дата: 22.02.09 08:52
Оценка:
T>Я на них заходил, но попадаеш на http://ftp.cc.uoc.gr/.404.html
T>Никак не скачивает

Заработало
Re: Как организовать самодокомпиляцию программы.
От: MasterZiv СССР  
Дата: 22.02.09 09:46
Оценка: +1
tnikolai пишет:

> Основная программа генерирует с++ код, который нужно скомпилировать и

> добавить к основному коду. В сгенерированном коде содержатся новые
> дополнительные функции для основной программы. Также чтоб была
> возможность перекомпиляции добавленных кусков.

Вы чего-то странного хотите. Может вам лучше встроить какой-нибудь
инрерпретатор, и код уже на нём генерировать ?
Python, Lua ...
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Как организовать самодокомпиляцию программы.
От: coldfire2 Россия http://www.dict.riot.ru
Дата: 26.02.09 05:54
Оценка:
Здравствуйте, tnikolai, Вы писали:

T>Здравствуйте, alpha21264, Вы писали:


A>>Здравствуйте, tnikolai, Вы писали:


T>>>Основная программа генерирует с++ код, который нужно скомпилировать и добавить к основному коду. В сгенерированном коде содержатся новые дополнительные функции для основной программы. Также чтоб была возможность перекомпиляции добавленных кусков.


T>>>Как это лучше всего организовать?


A>>С помощью makefile. По моему в Виндах так тоже можно...


T>И как потом это прикрепить к работающей в это время основной программе?


легко:

LoadLibrary("имя_либы.dll");

my_proc = GetProcAddress(...);

(*myproc)(...);



только вот не понятно, собираетесь тащить с собой компилятор С++?
Re[4]: Как организовать самодокомпиляцию программы.
От: Кодёнок  
Дата: 26.02.09 07:06
Оценка:
Здравствуйте, coldfire2, Вы писали:

C>только вот не понятно, собираетесь тащить с собой компилятор С++?


Есть такой продукт — Microsoft Keyboard Layout Creater, так вот он в самом прямом смысле тащит с собой компилятор C++ + часть DDK, с помощью которых выдает готовые .dll + .msi
Re: Как организовать самодокомпиляцию программы.
От: Tonal- Россия www.promsoft.ru
Дата: 28.02.09 08:30
Оценка:
Здравствуйте, tnikolai, Вы писали:
Вроде ещё не давали ссылку: http://llvm.org/
Есть front-end к С/С++
... << RSDN@Home 1.2.0 alpha 4 rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.