![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
qwerty1122 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
привет,подскажите,как в программе можно вызвать cmd файл?т.е дело обстоит так,подключаем пустой файл,в ходе выполнения программы вызывается парсер и записывает в этот пустой файл текст и теперь необходимо перекомпилить проект чтобы этот перезаписанный файлик цепанулся заново и продолжилось выполнение программы
|
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
Насколько мне известно, средствами c++ - никак. Это уже из области метапрограммирования, вероятно, нужен сторониий фреймворк.
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
qwerty1122, если я тебя понял правильно, то так никто не делает. Или ты пишешь/берешь готовый парсер интерпретируемого языка (Python, LUA) или используешь плагины (т.е. скомпилированные библиотеки, расширяющие функциональность программы)
|
|||
|
||||
qwerty1122 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 20.10.2013 Репутация: нет Всего: нет |
раз нельзя вызвать cmd файл...то мож есть какая-нибудь команда которая позволит перечисленные файлы просто перекомпилировать и продолжить выполнение программы?
|
|||
|
||||
Static |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: 1 Всего: 2 |
qwerty1122, вызвать cmd (да и вобще, что угодно запустить из-под ОС) можно. Смотреть в сторону system()/CreateProcess/и т.п. А говорят тебе, что ты, скорее всего, что-то делаешь неправильно, и что для подобных задач обычно используют скриптовые языки.
--------------------
Я не настолько безнадежен, как кажется... |
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
Хм.. ну кажется возможно сделать нечто подобное.. Только текущая программа это один процесс/поток, её перекомпилированный вариант будет уже другим, нужно будет как-то передавать контекст из одного потока в другой, и это может плохо сказаться на быстродействии. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
NoviceF, плагины ;-)
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Это делает отладчик VS в режиме edit-and-continue. Сделать это вне VS весьма и весьма проблематично. Кроме того, это даже внутри VS работает через раз. Можно runtime откомпилировать файлы в динамическую библиотеку (*.dll в Win или *.so в Linux) и после этого загрузить ее к себе. Но этот процесс полностью зависит от ОС и компилятора. Это сообщение отредактировал(а) xvr - 8.5.2014, 13:40 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |