Сборник материалов по языкам С и C++.
Откуда что берется?
- Чтение книг и тематических форумов. Иногда, даже неудачный в общем учебник, может дать формулировку какой-то вещи, которую ты раньше никак не мог ухватить. Форумы подкидывают задачи, которые можно решать в обеденный перерыв или в маршрутке.
- Анализ чужого кода, как ошибок, так и интересных находок.
- Анализ собственных ошибок. Если какая-то ошибка повторяется несколько раз, это заставляет разобраться в причине непонимания. В результате появляется заметка.
- Уровень подготовки читателя предполагается самый разный. Некоторые ранние заметки представляются мне слишком простыми, и сейчас я бы их не писал. Но в свое время они были для меня полезны (пока формулировал — разбирался), а значит могут оказаться полезными кому-то еще.
- Заметки находятся в состоянии постоянной правки.
Зачем?
- Думаешь, что разобрался — расскажи другому. Сумел ему объяснить, значит разобрался. Теперь — запиши.
- Чтобы не забыть. Увы, но забываются и досконально разобранные вещи. А так мне лучше запоминается.
Литература
Справка
Вопросы и задачи
- Решение задач и книги Б. Кернигана и Д. Ритчи «Язык программирования С».
- Вопросы по С «Каким будет результат выполнения кода…» от Techpreparation.
- 100 вопросов по С с вариантами ответов от Go4Expert.
- Kanetkar Y. P. Test Your C Scills – книга с вопросами «Что выведет программа?».
- Ещё одна подборка вопросов по С с вариантами ответов.
- Я не знаю С – сборник «коварных» вопросов по С.
- Задачи из книги Г. Лакман Макдауэлл «Карьера программиста»
- Вопросы по С++ – список вопросов из книги Лаптева "С++ Объектно-ориентированное программирование".
- Маленькие функции на С – задачи от Джоеля Спольски.
- опросы по С++: теоретический минимум для джуниоров.
- Вопросы на собеседовании по С++
Установить/Настроить/Запустить
OpenGL
- Установка библиотеки GLUT/freeglut в Xubuntu
- Использование OpenGL и GLUT в Code::Blocks (Ubuntu)
- Установка и использование Freeglut на MinGW и Code::Blocks 12
- Установка GLUT и настройка проекта в Visual Studio
- Запуск примеров из 5-го издания OpenGL Superbible в Code::Blocks (MinGW)
Qt
- Установка Qt 5 на Ubuntu
- Запуск примеров из книги Бланшет и Саммерфилда "Qt 4: программирование GUI на C++"
- Код из книги Макса Шлее "Qt 4.8. Профессиональное программирование на C++"
- Пример построения графика с помощью QCustomPlot
WxWidgets
MFC
Физические движки: Box2D, Bullet Physics
- Установка Box2D на Code::Blocks (Ubuntu)
- Testbed в Code::Blocks (Ubuntu)
- Установка Box2D и Testbed на Code::Blocks (Windows)
- Установка и запуск Bullet Physics на Code::Blocks (Ubuntu)
CUDA
WxWidgets
OpenGL и физические движки
- Физическое моделирование – поэтапное описание разработки физического движка для симуляции поведения системы частиц. Моделирование с его помощью ряда простых систем (мяча, маятника, связанных тел и т. п.), а также развертывания нити.
- Моделирование развертывания весомой нити в Box2D и Bullet
- Моделирование движения гранулированной среды в Box2D
- Моделирование движения персонажей компьютерных игр – сокращенный перевод-пересказ статьи Томаса Якобсена "Advanced Character Physics".
- Физическое моделирование: курс Бараффа и Уиткина – перевод-пересказ знаменитого курса моделирования движения в реальном времени.
Научные вычисления
- Рисование графиков в С++
- Интегрирование обыкновенных дифференциальных уравнений в С++
- Библиотека линейной алгебры в C++. Настройка Armadillo
- Библиотеки для работы с разреженными матрицами
Code::Blocks
- warning: GDB: Failed to set controlling terminal: Operation not permitted
- Каталог для include-файлов (-I)
- Отступы в коде
- Увеличение числа процессов для параллельной сборки проекта
- Полезные плагины
- Если не загружается плагин
- Профилирование кода: GProf и плагин Code Profiler
- Аргументы командной строки при запуске программы из Code::Blocks
- Как клонировать проект в Code::Blocks
- Из книги Biplab Kumar Modak "C++ Application Development with Code::Blocks"
Visual Studio
- Что такое "general error c1010070: Failed to load and parse the manifest"
- cannot convert parameter 1 from 'char' to 'LPCWSTR'
- Минимальный проект MFC и борьба с fatal error C1189
Qt Creator
Eclipse
GDB
- Отладка с помощью GDB
- Как просмотреть элементы std::vector в GDB
- Что означает
в gdb? - Автоматизация трассировки в GDB
- Скрипты в GDB
- Исследование памяти с помощью GDB
Doxygen
- Особенности использования Doxygen в Code::Blocks
- UML диаграммы классов в Doxygen
- Графы вызова в Doxygen
ncurses
HowTo
- Пауза на заданное число миллисекунд
- Преобразование целого числа в строку в C
- Обмен значениями двух переменных с помощью XOR
- Измерение времени выполнения блока кода на C/С++
- Как найти функции, которые никогда не вызываются
- Преобразование строки в массив строк
- Использование rand()
- Кроссплатформенный экранный таймер
misc
- Советы одной строкой
- Исключения в конструкторах С++
- Где находятся исходники libstdc++ в Linux?
- enum'ы вместо const
- В чем разница между char* и char[]
- Объявления и определения
- Побочные эффекты операторов и как с ними бороться
- Кратчайшая программа, вызывающую ошибку времени выполнения
- Программирование на С++ в Emacs
- Правило чтения по спирали
- Инвариант цикла
- Использование Make на примерах
- Ошибка раздельной компиляции
- Операции и операторы в C/C++
- Зачем нужны итераторы?
- Что такое time_t или какой тип скрывается за псевдонимом?
- Откуда берется "error: expected class-name before ‘{’ token"
- Ошибка make: Circular xxx <- yyy dependency dropped.
- Замена sscanf() в C++
- Что такое time_t или какой тип скрывается за псевдонимом?
- Приятные синтаксические новинки стандарта С99
- Хороший плохой goto
- Копирование строк в C
- C нацелен на скорость
- Внешняя и внутренняя линковка. Двусмысленность static
- Схема распределения памяти процесса
- Техническая реализация виртуальных методов
- Указатели на функции-члены класса
- Вывод данных из программ на языках C/C++ в gnuplot
- Цитаты
- Международный Конкурс непонятного Си-кода
Комментарии
comments powered by Disqus