История изменений
Исправление 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
и т.п..