LINUX.ORG.RU

gcc struct + ifort common как побороть выравнивание?


0

0
Есть COMMON блок на фортране, в котором смешаны REAL и INTEGER поля.
Его надо заполнить данными из функции на C.
Как согласовать выравнивания структур с учётом того, что фортрановский фрагмент компилируется интеловским компилятором, а Cшный - gcc.

#pragma pack (1) не помогает :(

info gcc
__attribute__((packed))

а #pragma pack (1) это расширение компилятора microsoft,
с чего вдруг оно должно помогать?
fghj ★★★★★
()
Ответ на: комментарий от fghj
> а #pragma pack (1) это расширение компилятора microsoft

тлетворное влияние google

__attribute__((packed)) тоже не помогает

ksicom
() автор топика
Ответ на: комментарий от ksicom
также перебробовал всякие варианты -align компилятора ifort
ksicom
() автор топика
В итоге помогло только явное описание каждой переменной, входящей в COMMON блок непосредственно перед самим COMMON блоком. И всё. Никакие alignы и прочее не помогли. Имена переменных заданы правильно (всякие i,j,k,l,m,n учтены)
В чём дело так и не понял :(
ksicom
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.