Размер bool определяется реализацией (5.3.3), и gcc, по-видимому, не предоставляет опцию для настройки этого во время выполнения.
Надеемся, ваш код, определенный реализацией, изолирован.Если это так, измените bool
s на int
s или измените код загрузки, чтобы он работал с sizeof () == 1 вместо 4.
(или для сумасшедшего alter gcc для обработкиbool как 4-байтовый тип.)
Редактировать: предложение Пола Томблина об использовании #define
может быть недопустимым [см. здесь] , но оно работает в gcc 4.1.2,по крайней мере. [Ссылка] Однако, если вы не нажмете на каждое использование bool
, несоответствие размеров почти наверняка вас укусит.