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 основные переменные:

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

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

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

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

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

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

Пишем strcat в С++

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

Полный rand.. Получаем действительно случайные числа на С++

Как вы наверное уже знаете, для получения случайного числа в С++ предусмотрена функция rand(), но она возвращает не совсем "случайные" числа...
Для использования функции rand() необходимо подключить библиотеку stdlib:

#include <cstdlib>

Попробуйте откомпилировать программу: