Wpis z mikrobloga

#programowanie #gamedev #jezykc
Cześć, ma Ktoś pomysł czemu zapis i odczyt statycznego pliku binarnego nie dziala jak należy hdy używam pół FLOAT? Otóż mój edytor działa na Windowsie (LITTLE-ENDIAN) i zapisuje tutaj plik binarny. Otwieram plik potem w innym środowisku (BIG-ENDIAN). Problem jest taki że gdy dodaje do struktury pliku (statycznej) pole FLOAT to pod Windowsem jest zawsze dobrze, ale w tym drugim środowisku cały plik wczytuje jako śmieci, wszsytkie wartośći sa do dupy. JEstem świadomy że wartosci 16 i 32 bitowe trzeba swapować i to robię i do tej pory wszytko działało, coś sie zejbało gdy dodałem pola float.. macie jakiś pomysł..? Chodzi o to że wszsytkie pola są #!$%@? jakimś cudem, tutaj podglaś struktury - jest ona statyczna:

kod:
https://pastebin.com/q5eePSkK
  • 11
@ZawzietyRobaczek: Wyrównanie w pamięci wynika z ABI danej platformy. Jak robisz zapis danych binarnych do plików to albo używaj packed, albo układasz dane ręcznie + statyczne assercje żeby mieć pewność że gdzieś się nie pomyliłeś.

Coś mi się wydaje, że więcej masz tam takich kwiatków.