Индикатор популярности

Ну вот, дождались. Похоже, что мой сайт начал появляться в выдачах поисковых систем. Уж очень активно поперли новые регистрации с бредовыми логинами и тупыми емайлами. Дорогие мои спамеры - вы прямо индикатор популярности ресурса. Вот только фантазия у большинства на новые логины/майлы слишком бедная. Не будет нормальный человек регистрироваться на новом сайте с логином который не только тудно запомнить, но прочитать без тренировки невозможно. Ну право, глупо же!

Статическая сборка c библиотекой SDL2

Диалоговое окно в Xfce4

Если в проекте на языке С++ используется SDL2, то обычно исполняемый файл при сборке линкуется с библиотекой динамически. Это не всегда оказывается удобным. Ваше приложение оказывается зависимым от (не)установленных / изменившихся сторонних библиотек, из-за чего в один "прекрасный" момент оно может просто оказаться неработоспособным. В настоящее время лицензия на использование библиотеки SDL2 позволяет без ограничений статически встраивать код библиотеки в Вашу программу. Этим мы сейчас и займемся.

Страуструп

Утонул в шаблонах. Вторую неделю барахтаюсь. Приходится выделять часть времени на разработку кода, иначе мозг сопротивляется.

В проекте кроме OpenGL графики проявляются дополнительные направления работы - базы данных, сетевые технологии и неблокирующие соединения, шифрование связи. Надо со всем этим разбираться.

В процессе изучения С++

Работа с книгой Страуструпа растянулась по времени намного дольше, чем я ожидал. По стилю изложения руководство по Си от Кернигана и Ритчи сильно отличается от Страуструпа - у них более академичный стиль, материал подается ровно и последовательно. А Страуструп часто "забегает вперед" и использует примеры кода, работа которого непонятна из-за того что в нем применяются методики, описанные гораздо дальше по тексту. Это сильно тормозит процесс, так как заставляет по нескольку раз возвращаться назад и перепрыгивать вперед вслед за автором.

Об изучении С++

Как все-таки изучать С++? Мой личный опыт говорит что работать надо в таком порядке:

1. Вначале следует изучить С по руководству от K&R. Пусть у Страуструпа и написано, что знать С при обучении С++ не обязательно, но это знание добавляет больше понимания и уменьшает количество вопросов при изучении базовых типов и разборе примеров работы со строками и массивами.

Страуструп

Около месяца у меня ушло на работу с книгой "K&R". Читал, изучал, делал примеры. Но как-то скучно все казалось. Да - основательно, да - просто, но как то однообразно. Это действительно системный язык низкого уровня - и этим все сказано.

Дофамин

Ме кажется, что не очень много времени прошло с того момента, как я поставил себе задачу начать изучение языка программирования Си для работы с OpenGL, а вот уже мой мозг получил неплохую порцию дофамина. Если бы мне сказали всего пару месяцев назад, что я смогу взять код, написанный на Си и полностью переделать его на использование других библиотек, то я бы не поверил.

Библиотека GLM

Широко описываемые в различных учебниках по OpenGL библиотечные функции GLU - такие как glRotate, glFrustum или gluLookAt считаются устаревшими. В современных графических приложениях для работы с новыми версиями OpenGL рекомендуется вместо них использовать функции из написанной на C++ библиотеки GLM (OpenGL Математика). В документации к ней сказано, что GLM стремится использовать те же соглашения, что применяются в GLSL. Это обеспечивает более удобную работу при работе с матрицами и шейдерми.

Tags: 

сИмообразование

Как написано в 3-м издании пособия "Язык программирования Си" (Б. Керниган, Д. Ритчи): "Наряду с 'goto' указатели когда-то были объявлены лучшим средством для написания малопонятных программ". Это и определило мое устойчивое отношение к Си. Всегда считал, что этот язык не для меня. Тем более, что в нем и goto - тоже есть!

Памятка С/С++

Несколько полезных правил, которых следует придерживаться при разработке программ на C/C++:
  • Советами нужно пользоваться там, где они применимы. Не существует замены здравому смыслу.
  • Не забывайте в конце своих функций добавлять "return выражение", потому что в противном случае функция обязательно выдаст "мусор".
  • Программа на Си - это много "маленьких функций" и процедур, а не мало больших.
  • Разбивайте сложные выражения на более простые.
  • Уменьшайте набор потенциальных зависимостей (в области видимости) до набора реальных.
Tags: 

Страницы

Подписка на TRICKRIG RSS