The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Ценой перевода Mercurial на Python 3 может стать шлейф непре..."
Отправлено Аноним, 24-Янв-20 22:12 
> Ну, вообще говоря, если вы пишете программу под конкретное известное железо, то
> вы точно знаете его характеристики,

Я вам тут не ассемблерщик (я прогал на нескольких асмах, но - надоело), и таки использую много довольно разного железа. И со своей стороны считаю портабельность сей весьма и весьма жирным плюсом. По поводу чего предпочитаю скорее C99. Порой несколько уменьшенный subset - для МК.

> следовательно — эта особенность С89 не является для вас проблемой.

Мне виднее и мои приоритеты и что является для меня проблемой. Поэтому для себя я решил оперировать C99 (без VLA, кроме случая когда есть очень крутая причина и это не мешает иным вещам). Ну и posix как апи если это еще к оси интерфейсить надо. И писать максимально портабельно при условии что это ничего не нагибает.

А хотя-бы потому что например удобно на стороне компа какой-нибудь алгоритм или кус логики прозвонить, в том числе под мощными тулсами типа asan/ubsan до того как его на мк допустим пускать.

На микроконтроле ... пакость типа avr вообще будет как яваскрипт, всепофиг, продолжаем работать, хоть там чо. Cortex, конечно, hardfault пульнет но понять от чего он вылез в урезанном окружении - канительнее и неудобнее. Справедливости ради, мне приходится вручную левый доступ к памяти делать чтобы вообще проверить что handler срабатывает, но все-же.

> делать так, чтобы различия не стали проблемой. Си, как ни крути,
> ЯП не для дураков, а для профессионалов, чётко понимающих, что и как они делают.

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

Если так заметить, именно профессионалы тоже эти типы не лю и часто делают typedef с более вменяемыми типами и кучей кослылепроверок ifdef/sizeof. Мне так поганить код впадлу и я просто юзаю C99.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру