c

Встраиваем JavaScript в Си приложение

Не так давно вышла свежая версия JS движка Duktape.
И наверное многим стоит о ней узнать. Библиотека компактна! Всего три файла. Но эти три файла позволят Вам встроить полноценный интерпретатор JavaScript в Ваше приложение на Си.

Для начала работы Вам нужно добавить в проект 3 файла: duktape.c, duktape.h и duk_config.h.

Библиотека действительно легковесна.

Cython - python приложение на C

Cython - это язык программирования, который дополняет python возможностью типизированного задания переменных и возможностью компиляции в Си код, который в последствии можно скомпилировать в бинарник.
Python потрясающий язык программирования. Но скорость его выполнения оставляет желать лучшего. И как раз в этом нам может помоч cython. На данный момент он практически без труда умеет компилировать python код в си.

Давайте рассмотрим все на примере.
Вот код python для нахождения чисел Фибаначи.

Просмотр содержимого папки при помощи dirent.h

Часто перед программистом стоит задача просмотра содержимого папки. Это довольно просто осуществляется на языке си.
Необходимые библиотеки (вторая для вывода):

#include <dirent.h>
#include <stdio.h>

Заморачиваться классами не будем, создадим главную функцию программы:

int main (void) {

Объявим 2 основные переменные:

Потоки (threads) в SDL на с++

Рано или поздно, при написании игры, появляется необходимость выполнять задачи "одновременно".
Представьте только игру в которой всё выполняется шаг за шагом, например вы не можете двигаться пока стреляете, или пока вы не шагнёте противник не сдвинется с места.
Можно конечно изобрести некий велосипед и создать видимость нормальной работы, но мы не искатели таких путей, поэтому научимся создавать потоки в программе при помощи функция предоставленных SDL.
К счастью, всё не тяжелее сортировки ;)
Заинклудьте SDL:

Обработка сигналов в Linux на C++

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

Разделение строки в С++

Функция strtok предназначена для разбиения на части заданной строки.

#include <stdio.h>
#include <string.h>

char * tmp = strtok(char *string, char *delimiters);
  • string - разбиваемая строка
  • delimiters - разделитель. Символ которые будет считаться началом/концом строки

Функция возвращает параметр типа char, который содержит первый "кусок" строки. Для получения дальнейших "кусков" необходимо вызвать функцию с первым параметром NULL

Пишем strcat в С++

Хотите знать как происходит добавление одной строки в конец другой? Как это можно сделать без strcat ? Я захотел.
Всё довольно просто! Всё что вам необходимо знать, чтобы понять это - указатели с++.
Вот текст программы:

Создание собственной разделяемой библиотеки в С

Разделяемые библиотеки - это такие библиотеки, которые загружаются приложением во время его загрузки. Их могут использовать все приложения системы.
Разделяемые библиотеки имеют несколько имён.
soname - состоит из префикса "lib", имени библиотеки, расширения ".so" после которого следует версия библиотеки.
real name - имя файла, который содержит реализацию библиотеки
linker name - тоже что и soname но без указания версии.