Архив метки: C++

C: указатели — подробный разбор

22 мая 2016
 

 Перевод с небольшими дополнениями, уточнениями и примерами. Оригинал в посте C Pointers Explained, Really. >>><<< Когда я учился в колледже — мой друг пожаловался, что ему сложно понять синтаксис и использование указателей при программировании на С. Для примера он привёл код вида «*x=**p++«, говоря что он уродливый и сложный для чтения, в нём слишком много операторов, наложенных друг… Читать далее »

Linux: strace — отслеживаем выполнение процесса

17 февраля 2016
 

 strace — утилита для Linux, которая позволяет отследить выполнение системных вызовов (system call) и сигналов к ядру системы. Для примера возьмем простую программу на С, которая выводит содержимое указанного файла: #include <stdio.h> #include <stdlib.h> int main() { char ch, file_name[25]; FILE *fp; printf(«Enter the name of file you wish to see\n»); gets(file_name); fp = fopen(file_name,»r»);… Читать далее »

C: enum — перечисление

13 апреля 2015
 

 Перечисление — тип данных, задаваемый пользователем, состоящий из целочисленных констант и связанных с ними имён. Для определения перечисления используется ключевое слово enum. Синтаксис определения enum: enum type_name{value1, value2, …, valueN }; Например: enum count {one, two, three, four, five }; Тут count — имя переменной типа enum, а one, two и т.д. — имена значений.

C: переменные argc и argv

23 января 2015
 

 Для работы с аргументами — в C используются две специальные переменные — argc и argv. argc — argument count, или «счётчик аргументов»; argv — argument vector, или «вектор аргументов». Использовать их очень просто.

C: чтение, добавление, изменение и удаление переменных окружения (getvar, setvar, unsetenv)

22 января 2015
 

 Для работы с переменными используются функции getvar() и setvar() из библиотеки stdlib.h. Как понятно из названий — функция getvar() используется для получения значения переменной, а setvar() — для добавления или изменения.

C++: cppman — manual-страницы для C++

24 июля 2014
 

 cppman — утилита, написанная на Python, которая загружает данные с сайта http://www.cplusplus.com и формирует из них обычную man-страницу. Устанавливаем PyPI: # yum -y install python-pip … Installed: python-pip.noarch 0:1.3.1-4.el6 Complete!

С++: отладка с GDB

19 июля 2014
 

  Домашняя страница проекта — http://www.gnu.org/software/gdb/ Устанавливаем сам отладчик: # yum -y install gdb Предположим, у нас есть файл myfirst.cpp: #include <iostream> int main () { // using namespace std; // using std::cout; using std::endl; std::cout << «Come up and C++ me some time.»; std::cout << endl; std::cout << «You won’t regret it!» << endl; return… Читать далее »