Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.04.2009
Сообщений: 6

Программное написание исходного кода

12.04.2010, 12:18. Показов 1349. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

В рамках научной работы реализовал свой маленький компилятор некоторого языка. Не буду грузить подробностями. Собственно задача гененрировать во время исполнения проекта фрагменты кода на С++. Работаю в среде Borland C++ Builder 6. Сейчас у меня уже гененрируется текст модуля (*.cpp + *.h). Но для того, чтобы он "подхватился", нужно пересобирать проект. Логично.. компиляция идет только во время запуска. Так вот как бы мне перекомпилировать это отдельный модуль уже во время выполнения? Может быть как-нибудь программно создавать *.dll и ее подгружать программно (Из гененрируемого модуля мне нужно подгружать только 2-3 функции и все, поэтому для меня вполне годится, если они будут завернуты в *.dll), но тогда вопрос как программно создавать *.dll ... Мои поиски в Google пока ни какого результата не дали... Или то, что я хочу, из области фантастики, и эту проблему обходят как-то совсем по-другому..?

Буду рад любым содержательным советам! Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2010, 12:18
Ответы с готовыми решениями:

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

Защита исходного кода
Как обфусцировать плагин. Как я понял это способ защиты от декомпиляции amxx, если нет поправьте меня. знаю универсального способа нет,...

файл исходного кода
здравствуйте, у меня небольшой вопросик. Дома у меня виртуальная машина, всё необходимое установлено, когда работаю с midnight...

4
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
12.04.2010, 14:26
1. если ты генеришь код(с++), то тебе не обойтись без компилятора(!).
2. как я понял твоя программа не создает еще одно приложение, а генерирует модуль, который должна подхватить и "впитать" в себя. то бишь перекомпиляцию проекта не избежать.
с командной строки это можно сделать так:
bcb.exe /b Project.bpr
ну естесственно надо успеть завершить родительский процесс, либо компилить во временный exe-шник, а потом переименовывать и запускать. в общем тут варианты.
3. если ты хочешь скомпилировать свой сгенерированный модуль в dll, то для этого можно создать шаблон проекта, к которому добавлять свой сгенерированный модуль, ну и соответственно компилить dll.
1
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
12.04.2010, 14:40
Можно скомпилировать dll при помощи вызова компилятора bcc32 из командной строки посредством ShellExecute, с указанием всех необходимых параметров для bcc32. Или генерировать make-файл Project -> Export makefile и собрать dll утилитой make. (Также вызвав ее через ShellExecute).
1
0 / 0 / 0
Регистрация: 27.04.2009
Сообщений: 6
12.04.2010, 15:38  [ТС]
Всем спасибо!! Вариант с динамической генерацией DLL для меня вполне годится! Можно закрывать тему
0
ups-yurets
26.04.2011, 15:47
Stropores, здравстуйте! В даный момент я работаю над созданием генератора компилаторов, и на стадии синтаксически управляемой трансляции возникла необходимость программного написания исходного кода. Поделитесь опытом, как Вы это реализовали через dll? Спасибо
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.04.2011, 15:47
Помогаю со студенческими работами здесь

нет исходного кода
Функция для перевода десятичных целых чисел в произвольную систему счисления во время отладки выдает нет исходного кода void...

Совместимость исходного кода
Добрый день! Возник такой вопрос - код, написанный в QT Creator под windows будет компилироваться в Linux?

Чтение и написание исходного кода учит программированию?
Всем привет. Вот я сечас взял книгу по JS на 1000 страниц и теперь думаю а стоит ли ее читать от корки до корки иле же стоит прочитать...

Реализовать 2 статических анализатора исходного кода, которые будут проверять правила оформления кода
Доброго времени суток. Уже читал подобную пост здесь "Парсер С++", но немного не то. Задача: реализовать 2 статических анализатора...

Разработать программное средство, реализующее ввод исходного конечного автомата и вывод на экран его графа
Разработать программное средство, реализующее следующие функции: 1) ввод исходного конечного автомата и вывод на экран его графа; 2)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru