LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

Размеры примитивных целочисленных типов на практике выбираются с потолка каждым компилятором во многом исходя из исторических соображений и поддержки старой кодовой базы где код предполагает определённый размер примитивных типов. Примитивные типы Си на современных компиляторах/железе не означают наиболее оптимальный выбор для конкретного железа. Вероятно когда-то этот выбор был оптимальным, но теперь уже нет в результате перехода на 64 битную архитектуру и т.п.. Но есть много старого кода который рассчитывает что например long должен быть 32 битный. Недавно Wine по этому поводу рефакторили.

Так что лучше забыть про short, int, long, и пользоваться int32_t и т.п..

Исправление X512, :

Размеры примитивных целочисленных типов на практике выбираются с потолка каждым компилятором во многом исходя из исторических соображений и поддержки старой кодовой базы где код предполагает определённый размер примитивных типов. Примитивные типы Си на современных компиляторах/железе не означают наиболее оптимальный выбор для конкретного железа. Вероятно когда-то этот выбор был оптимальным, но теперь уже нет в результате перехода на 64 битную архитектуру и т.п.. Но есть много старого кода который рассчитывает что например long должен быть 32 битный.

Так что лучше забыть про short, int, long, и пользоваться int32_t и т.п..

Исходная версия X512, :

Размеры примитивных целочисленных типов на практике выбираются с потолка каждым компилятором во многом исходя из исторических соображений и проодержки старой кодовой базы где код предполагает определённый размер примитивных типов. Примитивные типы Си на современных компиляторах/железе не означают наиболее оптимальный выбор для конкретного железа. Вероятно когда-то этот выбор был оптимальным, но теперь уже нет в результате перехода на 64 битную архитектуру и т.п.. Но есть много старого кода который рассчитывает что например long должен быть 32 битный.

Так что лучше забыть про short, int, long, и пользоваться int32_t и т.п..