redcat

C. Глава 2. Целые числа

"В Си существует всего лишь несколько базовых типов: char - единичный байт, который может содержать один символ из допустимого символьного набора; int - целое, обычно отображающее естественное представление целых в машине; float - число с плавающей точкой одинарной точности; double - число с плавающей точкой двойной точности. Имеется также несколько квалификаторов, которые можно использовать вместе с указанными базовыми типами. Например, квалификаторы short (короткий) и long (длинный) применяются к целым."

"Значения типа char - это просто малые целые, и их можно свободно использовать в арифметических выражениях, что значительно облегчает всевозможные манипуляции с символами."
(Б. Керниган, Д. Ритчи "Язык программирования C")



Эта глава довольно важная и без чисел. Поэтому автору хотелось бы, чтобы читатели отнеслись к ней внимательно, даже, если не все сразу будет понятно. Обещаю, что дальше будет проще.

1. Целые числа в компьютере
Collapse )
redcat

C. Глава 1. Посимвольный ввод и вывод

"При наличии функций getchar и putchar, ничего больше не зная о вводе-выводе, можно написать удивительно много полезных программ. Простейший пример - это программа, копирующая по одному символу из входного потока в выходной поток."
(Б. Керниган, Д. Ритчи "Язык программирования C")



1. Чтение

Добавим к системной функции write еще и read. Тогда мы получим возможность вводить данные в работающую программу. Эти данные могут поступать как с клавиатуры, так и из файлов на диске, а также по конвейеру из других программ. Добавление read делается с головокружительной простотой:

$ cat write.s > read.s
$ vi read.s
Лст. 1-1. Копирование файла в новый и правка.

Функция read
Рис. 1-1. Функция read.
Collapse )
redcat

C. Глава 0. Hello, World!

"Вот первое препятствие, и чтобы его преодолеть, вы должны суметь где-то создать текст программы, успешно его скомпилировать, загрузить, запустить на выполнение и разобраться, куда будет отправлен результат. Как только вы овладеете этим, все остальное окажется относительно просто."
(Б. Керниган, Д. Ритчи "Язык программирования C")



1. Терминал UNIX

После того, как вы убедились в том, что графический интерфейс в современных Linux-системах ничем не уступает Windows, можно начинать. Linux является клоном UNIX, пусть даже и не генетическим клоном. В UNIX есть свои особенности, но это очень простая операционная система. В деталях она, конечно, является очень сложной, но пользоваться ею проще и удобнее, чем Windows. Оценить это в самом начале бывает непросто. Лучше всего, пока не думать об этом и сразу же приступить к делу.
Collapse )
redcat

C. Вместо предисловия

Этот раздел должен сориентировать читателя – стоит ли ему читать дальше. Он очень маленький. О том, как писать на C очень маленькие программы. Это не для всех. Но для очень маленькой секты свидетелей очень маленьких и быстрых программ.

Язык программирования C (произностися Си) был создан в начале 1970-х годов. Он оказался настолько удачным, что хотя его авторы и обещали дальнейшее развитие языка, он сохранился почти в неизменном виде. C используют как язык системного программирования. На нем была полностью написана операционная система UNIX, а впоследствии и другие, включая Windows. При работе с ним очень редко приходится иметь дело с ассемблером, хотя иногда и приходится. Язык C – компилируемый, что как раз и подходит для операционных систем и встраиваемых систем. В то же время, ничто не мешает писать на C и превосходные прикладные программы.
Collapse )
  • Tags
redcat

C

Здесь будет моя книжка о языке C. Не собираюсь, как принято, распинаться в извинениях по поводу появления новой книжки, тем более, что ее вовсе и нет в бумажном варианте. Просто читайте или не читайте.


С языком C здесь могут пересекаются другие, относящиеся к делу темы, рассказано о них просто, без формализмов, без показной учОности, и даже, по возможности, без специальных терминов. Я старался написать так, чтобы книжка показалась бы максимально интересной мне самому, в то время, когда я учил язык C. Если бы можно было вернуться в прошлое, то я думаю, что она показалась бы мне интересной. И может быть, не только мне, а любому, кто любит покопаться в деталях.
Collapse )
  • Tags
redcat

Как создать 3D-модель для KiCAD

Не используя платных программ. Для многих это проблема. Один чувак поставил исцеленный SolidWorks и после этого, каждый раз, когда он пытается выходить в сеть, его модем видится как "неизвестное устройство". ("Тебя посодют, а ты не воруй!") Геморрой? Для большинства геморрой. Купить солид стоит немеряных бабок. Геморрой? Опять. А всего-то надо нарисовать несколько 3D корпусов радиоэлементов, - в готовых библиотеках вечно что-нибудь не так. Это охота на воробья, так зачем здесь атомная бомба?


Как пример решения, возьмем простую задачу. Сделаем транзистор в корпусе TO-92:
Collapse )
redcat

Unix vs Windows

Выступал тут один перец. Много и умно ботал за мелкомягких. Все глумился да куражился надо мной да над "жалким гнутым софтом" (имелось в виду GNU/Linux). И вот, наказал его боженька и попустил мне поиздеваться над ним. Пришло время, и я его нагнул. Вот как это было.


Есть один сайт с 3d-модельками. Там есть страница, куда автор выкладывает свои произведения для народа (дай бог ему здоровья!). Полезное дело: когда делаешь печатные платы то приятно видеть их еще до монтажа. Когда-то давно я в AutoCAD'е слепил нечто подобное, но думал, что это экзотика. Однако, не совсем.

Итак, в один прекрасный день этот перец жаловался - в той же самой компании - на то, что много надо кликать для скачивания небольших файликов. Я тоже оказался в курсе дела и мне самому понравились модельки многих компонентов. Сейчас, говорю, мы их согребем. Перец закатывает глаза как идиот, чтобы не сказать хуже.
Collapse )
redcat

Кафедра дятловедения

Поскольку тема перевала и событий в феврале 1959 года будоражит народ аж в 2017-м, то она еще не закрыта. И в самом деле, что же такого там могло произойти?

Менты не нашли состава преступления и нарисовали "обстоятельства непреодолимой силы", или, как модно нонче сказать тоже самое не по-русски, форс-мажор. Это все, что могли сделать менты. Юристы. Они все свое профессиональное сделали и умыли руки.

Правда, остался снимок, так называемый 33-й кадр:



якобы изъятый из материалов. Или так и не приобщенный к ним. Прокурор Иванов хранил этот снимок у себя в личном архиве и поддерживал версию о "светящихся шарах". Почему снимок оказался не в деле? Очень просто. Снимок был изъят из дела не потому, что там было что-то "секретное", а потому, что власть большевиков обосралась наглухо признаться, что она и с бутылкой тут хрен разберется.
Collapse )
redcat

Новый редактор

Насколько я понимаю, старый редактор отправляется на свалку. А в новом редакторе можно только писать текст, непонятно, как вставить картинку или сделать что-то еще.  

Нет, мне не нравится новый редактор. 

redcat

gEDA - трассировка печатной платы

Это последний этап разработки и последний пост на тему "gEDA как начать работу". Принципиальная схема и перечень элементов уже готовы. Нужна еще кое-какая конструкторская информация: это форма и размеры платы, а также ограничения по высоте с обеих сторон платы. После ее уточнения можно создавать контур платы и размещать компоненты. Иногда контур делают в последнюю очередь, если нет ограничений на плату. После размещения компонентов проводят монтажные дорожки, соединяющие выводы компонентов между собой и переходными отверстиями (если они имеются на плате).

Наш случай требует размещения платы в коробке от стандартного выключателя. Размеры платы 55х55 мм, по четырем углам есть отверстия 3 мм для крепления на стоечки или опоры в коробке. Глубина коробки 50 мм, а высота над крышкой с клавишей или мембраной (кнопкой) 10 мм. Это и является ограничениями, которых нам необходимо придерживаться. Все компоненты с большой высотой надо перенести на обратную сторону платы. (Обратная сторона - это сторона, обращенная внутрь коробухи.) На передней или верхней стороне остаются: кнопка, микросхема, чип-резисторы и чип-конденсаторы. В общем, это не самый легкий случай, если речь идет о начинающих разработчиках, но вполне посильный.
Collapse )