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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.