Есть ли что то вроде api, который позволял бы компилировать программу из под исполняемого файла?

В языке C++ есть некоторые инструменты, которые могут быть использованы для компиляции программы из исполняемого файла. Одним из таких инструментов является GNU Compiler Collection (GCC).

GCC - это набор компиляторов, который включает в себя компилятор C++, компилятор C и другие инструменты для разработки программного обеспечения. Он поддерживает множество платформ и операционных систем, включая Windows, Linux и macOS.

Для компиляции программы из исполняемого файла с помощью GCC вам понадобятся исходные файлы программы и файл сценария сборки - обычно называемый в простонародье "Makefile". Makefile содержит инструкции о том, как собрать программу, включая команды компиляции и связывания.

Процесс компиляции программы из под исполняемого файла с использованием GCC может выглядеть следующим образом:

1. Установите GCC, если он еще не установлен на вашей системе.

2. Создайте файлы с исходным кодом программы - обычно с расширением ".cpp". Например, вы можете создать файл "main.cpp", содержащий основную функцию вашей программы.

3. Создайте файл Makefile. Makefile содержит инструкции о том, как собрать программу. Он состоит из набора целей и правил. Например, в Makefile вы можете указать, какие файлы нужно скомпилировать и какие опции компилятора использовать.

4. Запустите команду компиляции с параметром "make" в командной строке в каталоге с вашими исходными файлами и Makefile. Например, если вы находитесь в каталоге, содержащем файлы "main.cpp" и "Makefile", вы можете запустить команду "make" и GCC автоматически скомпилирует программу, указанную в Makefile.

5. Если все прошло успешно, вы получите исполняемый файл программы.

Однако стоит отметить, что для сборки программы из под исполняемого файла может потребоваться дополнительная настройка, особенно если ваша программа зависит от каких-либо библиотек или внешних зависимостей. В таком случае, вам может потребоваться указать пути к заголовочным файлам и библиотекам, а также добавить дополнительные флаги компиляции в Makefile.

Также стоит обратить внимание, что GCC - это только один из множества компиляторов, доступных для компиляции программ на языке C++. В зависимости от вашего проекта и требований, вы также можете рассмотреть использование других компиляторов, таких как Clang или Microsoft Visual C++.