Прагма уже объяснена.
«использование пространства имен std» означает, что компилятор ищет определенные стандартные функции в библиотеке времени выполнения (cout, например, на самом деле будет std :: cout). Фон в том, что вы можете группировать символы в пространствах имен, которые затем являются префиксом символа. Это позволяет вам использовать идентичные символы (например, имена функций), помещая их в разные пространства имен. Директива using namespace означает автоматическое добавление префиксов к символам с указанным пространством имен. Теперь, если у вас есть собственная функция cout из пространства имен «mystuff», вы можете отличить ее от стандартной, написав «mystuff :: cout».
Вызов SDL инициализирует видео и аудио подсистемы (например, проверяет, доступны ли видео и аудио устройства и поддерживают ли они все функции, которые нужны SDL).
«atexit (SDL_Quit)» означает, что функция «SDL_Quit» будет автоматически вызываться при завершении вашей программы.
system («пауза») останавливает вашу программу и ожидает нажатия клавиши.