Различие между “аппаратными средствами машины”, “типом процессора” и “аппаратной платформой”

Вообще говоря базовый файл является дампом всей памяти, используемой процессом плюс состояние регистров ЦП. Так, в целом информацией, которую можно получить из базового файла, является то же, что Вы могли добраться путем присоединения отладчика к процессу непосредственно перед тем, как это отказало.

Если я не разделяю символы из своего приложения и библиотек, базовые файлы все еще полезны?

От Дампа ядра страницы Wikipedia:

''В современных подобных Unix операционных системах администраторы и программисты могут считать файлы дампа ядра, пользующиеся библиотекой GNU Binutils Binary File Descriptor (BFD), [...] Эта библиотека снабдит необработанными данными для данного адреса в регионе памяти от дампа ядра; это ничего не знает о переменных или структурах данных в том регионе памяти, таким образом, приложение, пользующееся библиотекой для чтения дамп ядра, должно будет определить адреса переменных и определить расположение структур данных само, например, при помощи таблицы символов для отладки перенесения программы''.

Таким образом, ответ на Ваш первый вопрос: нет, файлы дампа ядра мало полезны, если Вы снимаете символы от исполняемого файла.

Однако символы просто поднимают некоторое дисковое пространство и иначе не влияют на производительность: можно скомпилировать с максимальной оптимизацией и -g одновременно.

Базовые файлы будут полезны, если я скомпилирую свое приложение с максимальной возможной оптимизацией?

Так как базовый файл является просто дампом памяти и состояния процессора, когда Ваше разрушенное приложение, общее предупреждение об оптимизации и отладке применяется: отладчик только найдет информацию (например, значение переменной или вызов функции в следе стека), если это не было оптимизировано.

13
04.01.2013, 15:05
3 ответа

Тип процессора (или имя) относится за тем, какая архитектура была сделана процессором.

Аппаратное название машины должно быть совместимо с типом процессора, другими словами, должен быть тот же тип как тип процессора.

И наконец, аппаратная платформа читает целые инструкции, которые аппаратные средства используют для процесса и который она musn't быть старшей версией, чем тип процессора.

Вы не можете выполнить i686 набор инструкций в i386 процессоре, например.

i686 отнесен в процессоры на 64 бита и архитектуру, но упомянут платформа, это означает обоих x686 или x86_64, упомянул канал инструкций (64 бита).

i386 = 32 бита

2
27.01.2020, 19:53

с помощью после опции можно дифференцироваться между этими тремя записями ("i686 i686 i386").

[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 
GNU/Linux
[root@tom i386]#uname -m;                -->machine hardware name
i686
[root@tom i386]#uname -p;                -->processor type
i686
and last one is  hardware platform(i386).
-1
27.01.2020, 19:53
  • 1
    Нет я не спрашиваю об опции команды. Мой вопрос - то, что различие между этими условиями? Разве они не, относятся к тому же? Если мой тип процессора является i386 затем машина аппаратная и аппаратная платформа, все - то же и i386? –  Adil 03.09.2012, 16:49

Аппаратная платформа ( uname -i ) ==> Тип ОС. 32 бит или 64 бит. Пусть приходит ситуация после установки пакетов и плагинов, необходимых для компиляции кода с 32-битной ОС, и теперь вы хотите изменить его в 64-битные ОС, может прийти проблема. Поэтому лучше удалить те 32-битные ОС зависимые плагины или остаться с 32-битной ОС.

Машина ( uname -m ) ===> Думайте как материнскую плату, в течение которого построен процессор.

Процессор ( Uname -P ) ==> Архитектура процессора зависит от набора инструкций.

Важная вещь:
Машина и процессор должны быть одинаковыми. Либо 32 бит или 64 бит, не отличается.

Аппаратная платформа должна быть такой же или ниже, чем машина и процессор.

6
27.01.2020, 19:53

Теги

Похожие вопросы