Когда BOOL тип данные не всегда предопределен, я использовал булев со следующим определением,определения BOOL
ЬурейеГо неподписанный символ BOOL;
(Из-за использования памяти).
Я понял, что лучше использовать собственную ширину шины по соображениям производительности. Например, для 32-битного процессора это может быть
typedef unsigned int BOOL;
Теперь, что произойдет для 64-битного процессора, если я все еще хочу определить BOOL для собственной ширины шины.
Если вы упаковываете (1), то, очевидно, при загрузке количество инструкций для выделения bool должно быть больше, чем просто загрузка собственных слов ширины. Можете ли вы представить себе это представление? – Alphaneo
Я не уверен, что вы имеете в виду, но у ARM есть инструкции ldrb/strb для загрузки байтов. X86 может загружать байт непосредственно в младшие 8-битные регистры (экв. Mov al, [addr]), и есть movzx eax, [addr] для загрузки нулевого расширенного байта в eax. – TrayMan
@TrayMan - подсчитывает циклы и байты для не выровненных данных, чтобы увидеть, что он имеет в виду. Там может быть значительное наказание, и как мурфи говорит, что может быть, будет. – MarkusQ