The OpenNET Project / Index page

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



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

Исходное сообщение
"cproc - новый компактный компилятор для языка Си"
Отправлено adolfus, 31-Авг-21 19:28 
>> Смелое утверждение. А как ввод/вывод осуществляется? В языке же нет на сей счет ничего. Весь ввод-вывод, и даже типы данных фиксированной длины определены в libc.
> Ввода-вывод как он сделан в libc в маленькой эмбеддовщине вообще не нужен.
> Там ввод-вывод - это дёрганье пинов, или коммуникации по i2c, в
> libc ничего не этого нет впомине. Типы фиксированной длины это горстка
> тайпдефов, libc чтобы их определить не нужен от слова вообще.
>> Считайте, что в контексте языка си любая библиотека, требования к функционалу которой определены в стандарте, и есть libc, как бы она не называлась.
> Повторюсь, можно писать на C с библиотекой вообще никаким требованиям из стандарта
> не отвечающей. А можно вообще без библиотеки.

Без библиотеки нельзя -- в языке, слава богу, нет никаких операторов ввода-вывода. Так что в любом случае Вам придется либо готовую libc брать под Ваш контроллер, либо самому ее под Ваши нужды изготавливать. Я думаю, что Вы просто не понимаете, ни что такое libc, ни что такое язык си, и даже вообще, что такое вычислительная система и как Ваш сишный код во что преобразуется и чем оборачивается перед тем, как передать ему управление. Просто задумайтесь, каким образом вообще "дергаются пины". Кто и как Вам отображает уровень сигнала на "пине" в ноль/единицу какого-то бита в байте по некоторому указателю или в переменной. Нет там никаких пинов -- есть исключительно мнгоразрядные регистры, скорее всего, на D-триггерах, в которые можно что-то записать с шины данных по фронту/спаду синхросигнала, используя машинные инструкции. И два варианта -- регистры эти существуют в отдельном адресном пространстве, или отображаются на память. Поскольку си не различает этих вариантов этого, ему на помощь приходит libc -- библиотека, расширяющая и дополняющая язык си, которая в вашем случае сводит все к "дерганью пинов". В случае полноценной host-среды к этой библиотеке предъявляются четкие требования. Мы ее просто называем libc. В случае не-hosted случая структура, функционал и даже именование файлов оставлены реализации, что ни отнимает у ьакой библиотеки названия libc. Просто потому, что ее кроме как с языком си использовать нигде не возможно.

 

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



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

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