План на курса

Въведение

  • Обзор на характеристиките и приложенията на C

Подготовка на средата за разработка

  • Избор на интегрирана среда за разработка (IDE)
  • Конфигуриране на компилатора

Създаване на примерен програмен код

  • Определяне на проблема
  • Кодиране според изискванията

Определяне на обхвата на променливите и функциите

  • Разбиране на обхват, видимост и продължителност
  • Работа с класове на памет: auto, extern, register, static

Управление на данни в C програма

  • Задълбочаване в примитивни типове данни
  • Работа с напреднали типове данни: структури, свързани списъци и т.н.
  • Съхранение на различни типове данни в едно място в паметта

Модифициране на свойствата на променлива

  • Задълбочаване в модификатори на типове
  • Работа с квалификатори на типове: константен, променлив и т.н.

Манипулиране с битове в C

  • Работа с данни по-малки от байт
  • Работа с битови оператори за манипулиране

Контролиране на потока на програмата

  • Задълбочаване в последователност
  • Използване на оператора goto

Четене и записване на данни

  • Обзор на функции за вход/изход
  • Увеличаване на четливостта на изхода

Разработване на код за различни платформи

  • Разбиране на директиви за компилатор
  • Условно компилиране на код

Увеличаване на производителността на програмата

  • Макроси срещу функции
  • Определяне на макроси за изпълнение на фрагменти от код

Динамично заделяне на памет

  • Преимущества на използване на показващи: скорост на изпълнение
  • Показващи към функции
  • Достъп до памет и манипулиране на адреса

Отстраняване на грешки в C програма

  • Напреднали техники за проверка, откриване и поправка на грешки
  • Работа с gdb (GNU отстраняващ грешки)

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

  • Как статична библиотека се свързва с изпълнимия файл
  • Създаване на статична библиотека

Създаване на споделена библиотека

  • Статични библиотеки срещу споделени библиотеки (динамични библиотеки)
  • Как споделена библиотека се свързва и заредява в паметта при изпълнение
  • Създаване на споделена библиотека

Абстрахиране на данни в програмата

  • Обзор на интерфейс, спецификация и реализация
  • Създаване на абстрактен тип данни
  • Тест на абстрактен тип данни

Търсене и сортиране на данни

  • Търсене на масиви чрез линейно търсене, двоично търсене и т.н.
  • Сортиране на масиви чрез сортиране по избор, вмъкване, мехурчесто сортиране

Взаимодействие между процеси и сигнали

  • Разбиране на процеси, сокети и сигнали
  • Имплементиране на IPC чрез споделени файлове, споделена памет, тъй-пий-пи, опашки за съобщения, сокети, семафори и т.н.

Пускане на C програма в паралел

  • Пуска на различни части от една програма едновременно чрез многонишковия принцип
  • Писане на нишка

Напредна мрежова програмиране

  • Обзор на TCP, UDP, IP и други доминиращи протоколи
  • Обединяване на няколко порта, оцеляване при внезапни прекъсвания на мрежата и т.н.
  • Писане на мощни API на сокети

Качество на кода

  • Парно преглеждане на кода и паралелно програмиране
  • Значението на итеративно кодиране (рефакториране)

Резюме и заключение

Изисквания

  • Опит в програмиране на C

Целева аудитория

  • Програмисти
  • Разработчици
 28 часа

Брой участници


Цена за участник

Отзиви от потребители (2)

Предстоящи Курсове

Свързани Kатегории