Мои онлайн-инструменты для электронщиков

Добрый день, сообщество.

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

Продукты Keil

Эта страница позволяет скачать любые продукты Keil с их официального сайта без заполнения нудной формы. Выберите продукт и получите ссылку для скачивания.

Электротехнический калькулятор

Этот инструмент позволяет произвести некоторые электротехнические расчеты.

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

Сейчас в онлайновом электротехническом калькуляторе есть 3 инструмента:
  1. Расчет номинального сопротивления
  2. Расшифровка маркировки чип-резистора
  3. Расчет проводника

Генератор заголовочных файлов Си

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

Пример генерируемого кода.

#pragma once
#ifndef EXAMPLE_H_20170303_211631
#define EXAMPLE_H_20170303_211631

#endif /* #ifndef EXAMPLE_H_20170303_211631 */


Чтобы не возникало споров и вопросов, поясню код.

Зачем нужна защита от повторного включения я не буду объяснять, это расписано в Википедии. Директива "#pragma once" нужна для компиляторов, которые ее понимают. Она позволяет не читать заголовочный файл целиком, а игнорировать его, если он уже включен. Тем самым ускоряется компиляция программы. Некоторые компиляторы не понимают эту директиву и игнорируют ее (такое поведение прописано в стандартах Си и Си++). Для непонимающих компиляторов нужны строки, которые идут дальше. С помощью обычных директив реализуется стандартная защита от повторного включения. Генератор выдает уникальный идентификатор, основанный на временной метке или на UUID. Это позволяет гарантировано избежать повторного включения. Особенно полезно, когда вы используете сторонние библиотеки, которые нельзя поправить, и у которых идентификаторы совпадают. Поздравляю тех, кому этого пока удается избегать.