Gcc: аналогичный параметр как параметр mstructure-size-option для 32-разрядной версии x86 - PullRequest
0 голосов
/ 26 марта 2019

Я портирую некоторый сгенерированный код из Keil в Linux. Этот код C автоматически генерируется инструментом PLC GUI и не должен изменяться (это логика управления, которая создается конечным пользователем для его варианта использования) Это работало только на ARM Hardware с ОС Keil. Теперь мы хотим запустить это программное обеспечение на ARM и 32-битной x86

Для ARM у нас есть опция -mstructure-size-option=32 для создания структур по крайней мере 4 байта. Эта опция недоступна для x86, и код не запускается без этой опции, например,

struct myStruct { char i; }
  • В ARM Linux sizeof(myStruct) = 4 байта с -mstructure-size-option=32

  • В 32-битной Linux x86 sizeof(myStruct) = 1 байт

Есть ли возможность для gcc сделать размер структуры кратным 4 байтам на x86? Я не говорю о дополнении или выравнивании внутри структуры ...

...