С точки зрения C / C ++ ....
Одна очевидная вещь состоит в том, что размер int станет 8 байтов вместо 4 байтов. Если от этого зависит какой-либо ваш код, вы можете получить неожиданные результаты. Структура и переменные выравнивания могут измениться. Вы можете преодолеть это с помощью пакета #pragma, но я не очень хорошо разбираюсь в выравнивании и упаковке.
Если вы используете какие-либо союзы с целыми числами в них, поведение может измениться.
Если вы используете какие-либо структуры битовых полей, основанные на целых числах, дополнительные 32 бита могут вызвать путаницу. Знак не будет там, где вы думали.
Если вы кодируете какие-либо шестнадцатеричные константы и ожидаете, что знаки станут отрицательными, у вас могут быть проблемы. пример
0x8000000 - отрицательное число в виде журнала или 32-разрядное целое число. 0x80000000 как целое число на 64-битной платформе является положительным числом. чтобы напрямую установить знаковый бит, вы должны будете использовать 0x80000000 00000000 (встроенное пространство только для чтения)
Также я ожидаю, что size__t будет расти соответствующим образом. Если вы делаете какие-либо выделения на основе MAX_INT, они будут намного больше.
Чтобы избежать такого типа размерных аномалий, я обычно придерживаюсь длинных, а не целых.