Программирование

Создаём копию процесса ( fork ) в Linux

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

#include <sys/types.h>
#include <unistd.h>
#include <iostream>
#include <stdio.h>
using namespace std;

И сразу приступим к наполнению функции main.
Объявим необходимые перменные:

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

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

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

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

int main (void) {

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

Использование баз данных MySQL в PHP скриптах

На самом деле всё очень просто. Прежде всего необходимо подключится к базе.
Делается это так:

$db = mysql_connect('Хост сервера MySQL','Пользователь MySQL','Пароль MySQL') or die("Не могу подключиться к серверу БД: " . mysql_error());

Для подавления вывода ошибок можно поставить знак @ :

Иконка приложения в трее системы на Qt

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

Прежде всего создадим стандартный GUI проект Qt. В форму можете набросать любые виджеты, они нам роли не сыграют...
Перейдите к редактированию заголовочного файла класса главного окна. Если ни чего не меняли - mainwindow.h
В этом файле описываются класс главного окна. У меня он имел вот такое барахлишко:

Создание статических библиотек в С

Прежде всего для создания собственной статической библиотеки необходимо написать её реализацию. Мы конечно же создадим библиотеку, которая будет содержать функцию вывода фразы "Привет мир!" на экран.
Создадим реализацию функции в файле libhello.c:

Преобразование доменного имени в IP адрес

Всё довольно просто, но к моему удивлению информацию я искал очень долго.
Рассмотрим программу преобразующую доменное имя в IP адрес.
Нам понадобятся следующие библиотеки:

#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <netdb.h>

Предопределим необходимые структуры:

struct hostent *he;
struct in_addr a;

Главная функция программы имеет вид:

Нахождение наименьшего общего делителя в С++

Рассмотрим алгоритм нахождения наименьшего общего делителя. Писать будем на С++, но если есть желание перенести в другой язык не проблема ;)
Нам не понадобятся какие-либо лишние библиотеки:

#include <iostream>
using namespace std;

Оприделим необходимые переменные:

int a,b,d,min;

Получим числа для обработки:

cout << "Введите числа: \n";
cin >> a >> b;

Узнаем какое из них меньше и занесём его в переменную min: