sitev_ru: "Нет ничего более постоянного чем временное". Ну в list память выделяется realloc, в деструкторе просто memory = NULL, это память ну никак не почистит. Чисток в деструкторах просто нет.
sitev_ru: Ну и к примеру я не увидел вообще где чистится List. Присвоение NULL указателю не очищает память на которую он указывает. Да и культуры программирование не заметно. Для работы с памятью в C++ есть свои инструменты, но тут используется C. Код просто странный, сущности часто не выполняют своих обязанностей.
Мультиплексирования нет, nginx + php-fpm просто порвут ваш C++ сервер, чуть нагрузка поднимется и сайт будет вас радовать 100% загрузкой CPU. Свои контейнеры, зачем?
usleep(1000) в цикле сервера, хм, это еще не самое плохое.
Как часто вы его перезапускаете, он течет как дуршлак.
Виталий Филинков: А т.к. адреса при загрузке будут меняется, то ядро это вынуждено сделать и всё сломать в итоге. Аналогичная беда если собрать библиотеки с ключами для сведения RTTI в одно пространство и подключать их явно методом dlopen.
Виталий Филинков: Советую вам познакомится, как работает неявная линковка. Исходные библиотеки попадут в одно адресное пространство в любом случае и при этом RTTI информация будет объединена, ядро (по сути выполнит линковку) подсунет адрес на одно и то же имя функции первое что попадётся в таблице символов. В итоге по отдельности работать будет всё правильно, а при загрузке уже 2х библиотек с одинаковыми именами будет вызываться только одна из них. И обёртки тут не помогут, хоть тысячу их сделать, таблица имён одна на весь процесс и все подключенные библиотеки.
Виталий Филинков: А я про что сказал? Обёртка не спасёт в этом случае. Совпали имена, линкер либо сругнётся, либо просто в обоих случаях будет дёргать одну и ту же функцию (что наиболее вероятно).
dordzhiev: Согласен, учитывая, что поддержка DX11 к примеру у nvidia появилась в 400 серии, найти в продаже 200ю серию уже просто нереально. Тоже самое и с AMD, да и встроенные естественно поддерживают DX11. А делать для школьников которые не могут себе обновить железо смысла нет, они всё равно не смогут купить конечный продукт.
Вы хотите, чтобы человек возненавидел C# и никогда на него не смотрел? Рихтер не предназначен для новичков, тут уже требуется свободное владение языком, очень много отсылок к этому и книга в основном предназначена для того, чтобы понимать как CLR работает изнутри.