Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
vlinx
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 74
#1

Компиляция исходного кода в работающей программе - C++

07.07.2014, 16:21. Просмотров 1435. Ответов 47
Метки нет (Все метки)

Привет.

Подскажите, как можно скомпилировать код, и использовать полученный результат в запущенной программе, если этот самый код находится, в компоненте (memo, list итд - неважно) этой запущенной пргораммы.

Я нашел 1 вариант - это сохранение этого кода в файл и компиляция в отдельном процессе.
Это правильный вариант? и есть ли еще пути решения?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vlinx
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 74
09.07.2014, 22:49  [ТС]     Компиляция исходного кода в работающей программе #41
а если "werwer" передается через параметр?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
09.07.2014, 22:53     Компиляция исходного кода в работающей программе #42
Цитата Сообщение от vlinx Посмотреть сообщение
как такую строку можно получить вообще?
C++
1
2
3
4
5
6
7
std::wstring compiler_path = L"C:\\strawberry\\c\\bin\\g++";
std::wstring dll_name = L"example_dll";
std::wstring workspace = L"D:\\test_dll_ias\\";
 
std::wstring w_dll_full_path = workspace + dll_name + L".dll";
 
h = LoadLibrary(w_dll_full_path.c_str());
Добавлено через 38 секунд
Цитата Сообщение от vlinx Посмотреть сообщение
а если "werwer" передается через параметр?
Через какой?
vlinx
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 74
09.07.2014, 22:56  [ТС]     Компиляция исходного кода в работающей программе #43
Цитата Сообщение от DrOffset Посмотреть сообщение
Через какой?
C++
1
2
3
4
5
std::wstring func(std::wstring p1, std::wstring p2)
{
     std::wstring res = p1 + p2 + ".dll";
    return res;
}
Добавлено через 1 минуту
а, я кажется подустал)
все понятно
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
09.07.2014, 23:03     Компиляция исходного кода в работающей программе #44
vlinx, вопрос, который тут действительно может поставить в затруднение, так это main и его параметры.
В стандарте нет версии с wchar_t. Но в VisualStudio уже об этом подумали, там "юникодность" программы переключается прямо в настройках проекта. И есть специальная версия - wmain.
То, что это непереносимо - плохо. Но в целом для программирования в win - это хорошо. Т.к. приложение должно максимально полно взаимодействовать с системой - начиная от внешнего вида UI и заканчивая API.

Добавлено через 1 минуту
Цитата Сообщение от vlinx Посмотреть сообщение
C++
1
2
3
4
std::wstring func(std::wstring const & p1, std::wstring const & p2) 
{
    return p1 + p2 + L".dll"; 
}
Fixed.
vlinx
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 74
09.07.2014, 23:07  [ТС]     Компиляция исходного кода в работающей программе #45
Всегда, вот всегда как дело касается кодировок, начинается какая-то фигня и мозголомство. Не только с кодом, да и при передаче данных, запросов на сервер, и все это из-за кодировок блин. Сколько раз уже замечал
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
09.07.2014, 23:13     Компиляция исходного кода в работающей программе #46
Цитата Сообщение от vlinx Посмотреть сообщение
Всегда, вот всегда как дело касается кодировок, начинается какая-то фигня и мозголомство. Не только с кодом, ди при передаче данных, запросов на сервер, и все это из-за кодировок блин. Сколько раз уже замечал
Легко могу понять. Это отчасти из-за того, что с++ долгое время не знал про юникод вообще ничего. Отчасти из-за того, что когда изобрели юникод было уже огромное количество систем со своими порядками насчет кодировок. Чего стоит только одна KOI8-R (я лично до сих пор от нее огребаю).
Но если разобраться с юникодом и взять за основу одну из стратегий использования (например в win - использовать только UCS-2 (про сетевую передачу - отдельный разговор, который требует отдельного рассмотрения)), то жить становится проще.
Вот в Qt например тоже все строки юникодные. Там это поставлено в основу и если понять концепцию, а не бороться с ней, то тоже все становится просто и понятно.
vlinx
1 / 1 / 0
Регистрация: 27.06.2014
Сообщений: 74
10.07.2014, 10:49  [ТС]     Компиляция исходного кода в работающей программе #47
Вариант 4.

DrOffset, а не подскажешь, как прикрутить интерпретатор CH к программе? Имею ввиду куда lib пихнуть, где пути ко ввсем include прописать? По ссылке, смотрел - там говориться как использовать его уже по назначению, а вот как настроить не нашел

Добавлено через 3 минуты
так.. а код нужно в самой IDE ch писать походу? - я бы хотел писать в своей IDE и вызывать блоки CH в ней
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2014, 15:05     Компиляция исходного кода в работающей программе
Еще ссылки по теме:

Загрузка исходного кода и компиляция *.exe C++
C++ Компиляция исходного кода C++ ubuntu если нет компилятора g++
Компиляция простейшего кода на C++ под GNU/Linux C++
C++ Компиляция кода с ромбовидным наследованием

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

Или воспользуйтесь поиском по форуму:
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
10.07.2014, 15:05     Компиляция исходного кода в работающей программе #48
Цитата Сообщение от vlinx Посмотреть сообщение
а код нужно в самой IDE ch писать походу?
Да вроде бы нет. В статье код прямо в демонстрационной программе был написан.

Цитата Сообщение от vlinx Посмотреть сообщение
а не подскажешь, как прикрутить интерпретатор CH к программе?
Внутри есть каталог extern, там include и lib (для visual studio). Вот их и прописывать.
Yandex
Объявления
10.07.2014, 15:05     Компиляция исходного кода в работающей программе
Ответ Создать тему
Опции темы

Текущее время: 20:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru