Введение
Когда программа скомпилирована из исходного кода C или C ++, компилятор, такой как gcc (см. ниже), переводит этот код в собственный двоичный язык процессора, так что программа может быть выполнена. Таким образом, считываемый человеком материал (исходный код) превращается в нечитаемый для чтения формат (машиночитаемый двоичный код).
Введение
Если вы введете echo $PATH, вы увидите расположение всех исполняемых файлов в системе, как скомпилированных двоичных файлов, так и скриптов:
/home/mike/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
В инструментах иерархии иерархии файловой системы, таких как cat и getty, присутствуют соответственно в /bin и /sbin, а также другие инструменты, такие как dpkg и chroot в /usr/bin и /usr/sbin соответственно. Если вы скомпилируете программу, загрузив исходный код, настроив сборку и установив ее, ваша программа по умолчанию должна войти в /usr/local/bin и другие ее файлы в иерархию /usr/local.
Компиляторы [ ! d9]
Возможно, одним из наиболее известных инструментов, используемых для компиляции двоичных файлов, является gcc, который известен как сборник компиляторов GNU и ранее как компилятор GNU C; версия, поставляемая с Ubuntu 12.04, - gcc 4.6.3. Как отмечается в официальном руководстве GNU,
GCC is an integrated distribution of compilers for several major programming
languages. These languages currently include C, C++, Objective-C, Objective-C++,
Java, Fortran, Ada, and Go.
Компиляторы
Три команды ./configure, make и sudo make install (или sudo checkinstall) часто используются вместе для компиляции программы.
Запуск ./configure, помимо прочего, проверяет установленную версию gcc и подготавливает среду сборки. [F23] является одной из самых важных вещей, созданных при запуске ./configure, поскольку он направляет сборку, когда выполняется make. Руководство GNU подробно описывает процесс. В общем, правила в makefile определяют основную цель (для создания исполняемого файла), так что файлы исходного кода .c будут делаться в скомпилированные файлы (.o файлы), чтобы сгенерировать целевой исполняемый файл.
Ресурсы
Два больших ресурса - это эти руководства по сборке Ubuntu здесь и здесь, в которых содержатся некоторые полезные советы и информация для тех, кто не компилируется. Другие ресурсы, такие как руководство GNU gcc и руководство make, о котором я уже упоминал. Для получения дополнительной информации о C и создания простой небольшой программы C см. Главу 22 раздела Rute и глава 24 командной строки Linux.