Что такое целевая архитектура в информатике?

Я новичок в программировании и хотел скачать хороший компилятор 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)

Они содержат информацию как об архитектуре, так и об операционной системе.

Другие вопросы по тегам