Что такое целевая архитектура в информатике?
Я новичок в программировании и хотел скачать хороший компилятор C, чтобы попрактиковаться в программировании. Поэтому я подумал о GCC и начал небольшое исследование по нему. Я прочитал статью в Википедии об этом. В статье упоминается кое-что о целевой архитектуре, чего я не знаю. Может кто-нибудь сказать мне, что это значит, и любой источник, который я могу сослаться для получения дополнительной информации. Заранее спасибо.
1 ответ
Целевая архитектура - это архитектура, для которой компилятор создает двоичные файлы.
Общие архитектуры: i386 (32-разрядная версия Intel), x86_64 (64-разрядная версия Intel), armv7, arm64 и т. Д.
GCC компилирует код C (после этапа предварительной обработки) в код сборки, и код сборки изменяется в зависимости от архитектуры процессора. Затем ассемблерный код "собирается" в двоичный файл.
Что-то иметь в виду:
Два бинарных файла не гарантируют совместимость между различными операционными системами, несмотря на то, что они используют одну и ту же архитектуру.
Программа, скомпилированная в Ubuntu Linux (скажем, с arch x86_64), не будет работать в Windows (с той же дугой x86_64).
GCC идентифицирует архитектуры по "триплетам", например:
x86_64-apple-darwin14.0.0
i386-pc-mingw32
i686-pc-linux-gnu
Формат:
machine-vendor-operatingsystem (not always followed though)
Они содержат информацию как об архитектуре, так и об операционной системе.