Хочу переписать скрипты с php на с++, но не хочу что-бы в 2 действия компиляция потом исполнение, мне нравиться в php что я сразу запускаю скрипт в 1 действие.
На с++ вижу 2 варианта как сделать так же:
1) найти интерпретатор с++
2) найти или сделать прогу которая будут компилировать и сразу исполнять скрипт. Так же можно проверять если скрипт не поменялся, то исполнять версию из кэша.
Планирую использовать на Windows и Linux.
Если ли уже готовые решение ?
Напишите, пользовались ли вы ими.
Здравствуйте, maks1180, Вы писали:
M>2) найти или сделать прогу которая будут компилировать и сразу исполнять скрипт. Так же можно проверять если скрипт не поменялся, то исполнять версию из кэша. M>Планирую использовать на Windows и Linux.
M>Если ли уже готовые решение ?
Эээ... обычный makefile? Он тоже умеет исполнять...
Здравствуйте, maks1180, Вы писали:
M>Хочу переписать скрипты с php на с++, но не хочу что-бы в 2 действия компиляция потом исполнение, мне нравиться в php что я сразу запускаю скрипт в 1 действие. M>На с++ вижу 2 варианта как сделать так же: M>1) найти интерпретатор с++ M>2) найти или сделать прогу которая будут компилировать и сразу исполнять скрипт. Так же можно проверять если скрипт не поменялся, то исполнять версию из кэша. M>Планирую использовать на Windows и Linux.
M>Если ли уже готовые решение ? M>Напишите, пользовались ли вы ими.
Называется IDE ) какая разница если все компиляция и линковка перед запуском делается прозрачно для вас?
Здравствуйте, maks1180, Вы писали:
M>Хочу переписать скрипты с php на с++, но не хочу что-бы в 2 действия компиляция потом исполнение, мне нравиться в php что я сразу запускаю скрипт в 1 действие.
Лучше переписывайте на erlang. Переписывание с php на C++ имеет мало смысла, лучше уж на javascript-е пишите.
Здравствуйте, maks1180, Вы писали:
M>Хочу переписать скрипты с php на с++, но не хочу что-бы в 2 действия компиляция потом исполнение, мне нравиться в php что я сразу запускаю скрипт в 1 действие. M>На с++ вижу 2 варианта как сделать так же: M>1) найти интерпретатор с++ M>2) найти или сделать прогу которая будут компилировать и сразу исполнять скрипт. Так же можно проверять если скрипт не поменялся, то исполнять версию из кэша. M>Планирую использовать на Windows и Linux.
M>Если ли уже готовые решение ? M>Напишите, пользовались ли вы ими.
Ничем из этого не пользовался.
Но как уже тут заметили, script.sh может внутри себя уже содержать сборку и запуск C++ программы. Все нормальные системы сборки умеют делать это инкерментально, перекомпилируя только изменившиеся части.
Здравствуйте, maks1180, Вы писали:
M>Хочу переписать скрипты с php на с++, но не хочу что-бы в 2 действия компиляция потом исполнение, мне нравиться в php что я сразу запускаю скрипт в 1 действие M>Планирую использовать на Windows и Linux.
(2) довольно легко сделать как уже писали с помощью "make" и компилятора,
хотя требовать установки C++ компилятора для запуска кода довольно странно.
M>Если ли уже готовые решение ?
Здравствуйте, maks1180, Вы писали:
A>>Эээ... обычный makefile? Он тоже умеет исполнять...
M>Для каждого скрипта свой makefile делать ?
Ну наверное его можно с параметром сделать...
Или просто скрипт (не makefile) с параметром, который будет проверять дату исходника, и при необходимости компилировать...
Здравствуйте, maks1180, Вы писали:
A>>Эээ... обычный makefile? Он тоже умеет исполнять...
M>Для каждого скрипта свой makefile делать ?
В makefile есть шаблонные правила: настроил один раз, а применять их можно к разным целям.
Но даже если недостаточно гибко, то конечно же это решается введением ещё одного слоя абстракции: можешь генерировать makefile другим мейкфайлом! Или думаешь, все эти cmake в мире С++ просто так появились?
Спасибо за помощь, ничего не подошло и я устал искать!
За 3-4 часа написал на php скрипт который проверяет если cpp изменился, то компилирует через gcc и запускает его если не изменился, то сразу запускает.
Обидно, что на поиски наверно столько же потратил
Здравствуйте, maks1180, Вы писали:
M>Спасибо за помощь, ничего не подошло и я устал искать! M>За 3-4 часа написал на php скрипт который проверяет если cpp изменился, то компилирует через gcc и запускает его если не изменился, то сразу запускает. M>Обидно, что на поиски наверно столько же потратил
Зачем 3-4 часа на PHP, когда можно было на bash и makefile'е сделать за пять минут?
Здравствуйте, maks1180, Вы писали:
M>Спасибо за помощь, ничего не подошло и я устал искать! M>За 3-4 часа написал на php скрипт который проверяет если cpp изменился, то компилирует через gcc и запускает его если не изменился, то сразу запускает.
Изобрели велосипед: https://gulpjs.com/
M>Зачем 3-4 часа на PHP, когда можно было на bash и makefile'е сделать за пять минут?
на bash сложно сделать проверку изменились ли исходники, а с makefile я не особо дружу, и не уверен сможет ли он понять что вложенный через include хеадер ихменился и нужно пересобрать
Здравствуйте, maks1180, Вы писали:
M>>Зачем 3-4 часа на PHP, когда можно было на bash и makefile'е сделать за пять минут? M>на bash сложно сделать проверку изменились ли исходники, а с makefile я не особо дружу, и не уверен сможет ли он понять что вложенный через include хеадер ихменился и нужно пересобрать
Т.е. ты ещё и парсил свой файл на предмет инклюдов, и проверял их? А вложенные инклюды обрабатывал? А поиск инклюдов правильно реализовал?
Вообще-то GCC (а я так понимаю, у тебя он) умеет по отдельному ключу генерировать список инклюдов как раз для make. А если у тебя не GCC, то что мешало использовать GCC для поиска инклюдов, а компилить своим компилятором?
Не пользовался make? Ну, это плюс полчаса.
Вообще, не вижу смысла возится с инклюдами. Если они жирные, то как бы тебе помог интерпретатор? А если мелочь, то пофик, пусть всё заново компилится. Запуск процесса компилятора дороже.
Для подобных целей я сто лет назад себе написал cxx.bat, который вызывает MSVC компилер командной строки для заданного аргумента.
Если надо сразу запустить:
cxx.bat test.cpp & test.exe
Можно написать ещё батник runcxx.bat, в котором вызываются эти команды. Вот тебе и интерпретатор.