169 похожих чатов

Интересно а что в фпц заменяет тогда сишный long int?

29 ответов

72 просмотра

Нет в Си никакого стабильного размера для long int. Есть цепочка размеров: sizeof(char) <= sizeof(int) <= sizeof(long int) <= sizeof(long long int) Есть понятие платформы, для которой в реализации фиксируются те или иные размеры для элементов той цепочки.

Serg
Нет в Си никакого стабильного размера для long int...

а есть компиляторы С (не наколеночные от дяди Васи, а худо бедно распространённые) , чтоб они на одной и тоже платформе задавали разные размеры целочисленных типов ?

Serg
Нет в Си никакого стабильного размера для long int...

в С есть минимальные размеры для типов. и всякие int64_t для тех, кому важен точный размер

Peter- Автор вопроса
Serg
Нет в Си никакого стабильного размера для long int...

Вот именно поэтому и спешиваю какой эквивалент - я же сверху кинул ссылки - по которым видно что long int может как 32 битным быть, так и 64х битным. В дельфи ему соответствует LongInt, в фпц же LongInt - всегда 32хбитный. Вот я и спрашиваю -а какой тип в фпц соответствует long int тогда? Либы сишные как подключать то тогда, если они используют LongInt?

Peter- Автор вопроса
Peter- Автор вопроса
zamtmn
посмотри в uses ctypes;

глянул - ясно на уровне компилятора нет аналога. класс! даже для такой элементарной вещи в юсес тянуть что-то. печаль беда(

Peter- Автор вопроса

ну вот и печально что даже тут надо велосипедить свои типы

Peter
глянул - ясно на уровне компилятора нет аналога. к...

Зачем тянуть? В System есть размерные: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Peter
глянул - ясно на уровне компилятора нет аналога. к...

паскаль модульный язык, это правильное решение

Peter- Автор вопроса
Serg
Зачем тянуть? В System есть размерные: Int8, Int1...

а long int? он может на линуксе быть как 32х битным, так и 64битным, а на винде всегда - 32 бита, по abi этих систем. в дельфи ему полностью соответствует LongInt, в лазарусе придеться монстрика на ифдефах пилить.

Peter- Автор вопроса
zamtmn
паскаль модульный язык, это правильное решение

какое это тут преимущество дает? кроме очередного велосипедостроения дефолтных фич

Peter- Автор вопроса
Peter
а long int? он может на линуксе быть как 32х битны...

и я вспомнил, пилил же, долго не мог понять, а потом каааак понял, наифдефал и построил "мусорный" недотип очередной. и да - это плохо - ибо юзер вмето привычного типа видит очередной хз что и тупит

Peter- Автор вопроса

Ну я создам тип новый, так? - так, он будет иметь какое-то имя, и если в дельфи по стандартному названию LongInt все очевидно, то тут будет MyMegaInt, от чего пользователь будет вынужден лезть в сорцы и смотреть что это за покемон такой, вместо того чтобы код писать.

Peter
Ну я создам тип новый, так? - так, он будет иметь ...

Ну танцуйте с заменой типа в прототипе каждой функции, кто ж вам запретит

Peter- Автор вопроса
Serg
Ну танцуйте с заменой типа в прототипе каждой функ...

а выбора нет -если си версия использует long int то мы будем вынуждены городить велосипед, из-за того что аналога long int в fpc нет

Peter- Автор вопроса
Peter- Автор вопроса

ну ясно - внятного ответа нет, пошли в ход мемы

Peter
Ну я создам тип новый, так? - так, он будет иметь ...

Это всё ещё забота о новичках? Если нет, то не вижу проблэмс )

Peter- Автор вопроса
notme
Это всё ещё забота о новичках? Если нет, то не виж...

это забота о психическом здоровье пользователя компилятора

Jack128
а есть компиляторы С (не наколеночные от дяди Васи...

Что подразумевается под платформой? Ось или процессор, если проц то есть, с лонгами чехарда

Jack128
ось + проц

В принципе я тебе даж с рабочий чат кидал линк когда 6 разных компилеров, у пяти лонг 4 байта у шестого 8 байт

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта