Tag Archive: Pure C

Nov 10

Templates in plain C

Templates in ANSI C – simple and convenient method for emulating c++ like templates in plain c. Sample project, which demonstrate this technics can be found at github. So, it is our constraints: ANSI C (no templates, inheritance, overloading, default params etc.) set of almost the same user-defined structures (the common difference – is types …

Continue reading »

Apr 03

pure c – как получить список сетевых интерфейсов

На линуксах. С помощью getifaddrs. Не забыть освобождать память под ifaddrs. Эта функция просто выводит айпи адреса сетевых интерфейсов. Если необходимо получить стастику – надо работать с адресами семейства AF_PACKET.

Mar 30

pure c – как измерить время

Простой снипет на сях для подсчета секунд между двумя замерами: Как мы помним, структура timeval имеет вот такой простецкий вид: а потому в коде добавляем такие строчки: В случае необходимости большей точности имеет смысл учитывать также значение tv_usec из структуры timeval. Ссылки для развития кругозора: 1. Полезнейшие но не особо известные утилиты из sys/time.h (timeradd,timersub,timercmp,…): …

Continue reading »

Mar 16

Back to pure C – как распарсить строку без регэкспов

Надо парсить строку. Хочется регеэкспов от Posix – но никто не обещает posix-совместимых систем. Проект сишный и плюшки C++ как то не уместны, потому же boost – нельзя. И вообще с учетом закостенелости процесса развертывания – сторонние либы включать адски не желательно. Под такие ограничения прекрасно подходит функция strtok из ANSI C. Нижеуказанный сниппет производит …

Continue reading »