Скомпилировать пакетный файл в файл EXE - PullRequest
1 голос
/ 01 апреля 2010

Я хочу скомпилировать командный файл в файл EXE, используя C ++. Я могу разобрать командный файл и написать новый .cpp файл. Но я не знаю, как скомпилировать новый файл .cpp в файл EXE для конечного пользователя.

Хорошо, вот в чем дело, я создаю приложение на DevC ++, которое будет читать в пакетном файле. Затем один за другим разбираем его с помощью:

system(getline(myfile,line));

После настройки я сохраняю вновь созданный файл как "main.cpp".

Проблема в том, что я хочу скомпилировать его в файл EXE из моей программы для конечного пользователя.

Итак, можно ли скомпилировать файл C ++ из EXE-файла C ++?

Ответы [ 3 ]

4 голосов
/ 01 апреля 2010

Да, вы можете при условии, что у конечного пользователя установлен компилятор C ++, и вы используете допустимый C ++.

В зависимости от используемого вами компилятора, ваш исполняемый файл C ++ должен будет вызывать процессзапускает

cl main.cpp

или аналогичный вызов компилятора после завершения перевода.

Если у вашего пользователя не установлен компилятор, то вам почти не повезло - пытаетесьСобрать компилятор C ++ самостоятельно - довольно нетривиальное упражнение.

3 голосов
/ 01 апреля 2010

Короткий ответ - нет. Если вы не хотите писать весь компилятор C ++, вам потребуется вызвать внешний компилятор C ++ для компиляции этого файла .cpp.

С другой стороны, если вы просто хотите конвертировать файлы .BAT в файлы .EXE, существует несколько существующих решений, например quickbfc .

0 голосов
/ 01 апреля 2010

Могу я спросить, зачем вам анализировать файл bat?

Я имею в виду, если вы берете ввод или что-то из этого файла, можете ли вы попробовать использовать базу данных или что-то для этого?

Также для конечного пользователя вы можете написать веб-приложение для отображения вывода. Есть серверные страницы C ++, эквивалентные JSP, PHP, которые могут использовать классы C ++.

Я помогаю здесь или это не то, что вы хотите? может быть, если вы можете описать использование вашего приложения, кто-то может помочь вам лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...