Pracuję nad przeniesieniem aplikacji na platformę 64-bitową na platformę Linux. Aplikacja jest obecnie obsługiwana w systemach Linux, Windows, Macintosh 32-bit i Windows 64-bit. Jednym z problemów, z którymi często się spotykamy, jest używanie długich na int i na odwrót. Nie stanowiło to problemu do tej pory, ponieważ long i int są wymienne (oba są 4 bajtami) na platformach, na których aplikacja jest obecnie obsługiwana. Baza kodowa jest ogromna, z dużą ilością starszego kodu z #defines dla wielu typów danych, sprawia, że trudno jest przeszukiwać całe użycie długich i zastąpić odpowiednio int.Tworzenie "długich" 4 bajtów w gcc na 64-bitowym komputerze z Linuksem
- W krótkiej perspektywie rozwiązanie, czy jest jakiś sposób, aby użyć GCC 4 bajty zamiast 8 dla „długi”?
- Jeśli tak, jakie problemy możemy napotkać? Jeśli nie, czy istnieje łatwiejszy sposób na naprawienie problemu długiego i int?
To nie jest rozwiązanie dla twojego bezpośredniego problemu (stąd komentarz), ale dla przyszłego kodu użyłbym zamiast tego dokładnych typów szerokości (np. 'Uint32_t'). –