по примеру GetLastError в windows? Через синглтон сделав его потокобезопасным?
Если это не коммерческий проект, а именно фан проект, то в чем именно фан писать на древнем борланде, если не секрет? В плюсах от борланда старее 5.02 на стеке переменная цикла for(int i=0; i!=10;++i){} int i; перекрывает следующую за ней и вызывает ошибку компиляции, шаблоны там тоже номинальные,... зачем на этом писать? Ну или в чем фан не юзать плюсы начиная хотябы x03 или x11 (которые до сих пор в ходу в некоторых компаниях)?
Весь смысл в обеспечении совместимости и нативной компиляции по старыми ОС. На текущий момент проект собирается из одной кодобазы под Windows 95 и выше, linux debian 3 и выше и под MS-DOS с VGA режимом. В этом и смысл. Создать фремворк с единым API под разные ОС. Я пишу под MSVC 2022, а для теста собираю под разными операционками и разными компиляторами как 32 так и 64 битными. Такой вот фан open source проект.
А есть ссыль на упомянутый опен сорс? (В био не репа а акк)
Статья https://habr.com/ru/articles/700668/ Гит проекта https://github.com/JordanCpp/Lib-LDL Текущая итерация https://github.com/JordanCpp/LDL_Lib
Ну если там настолько фан что только статический полиморфизм.... кстати а почему? Если б были колбэки то проблема обработки исключительных ситуаций "в шляпе"... не так ли?
Статья немного устарела. Сейчас полная динамика через абстрактные классы с возможностью динамического выбора рендера. Через колбеки? Надо подумать, мне это в голову не приходило:)
atexit существует в стандартной библиотеке с c89 и доступна с gcc 2.0 емнип
Мало писал на чистом С. Погуглю, не помню, что бы я юзал данную штуку. Почитав, понял, что специфичная штука. Больше нет, чем да.
Вот и ладушки На всякий случай: сегодня atexit топик - не редкость на junior/middle скрининге по Си/Си++. "How to use/setup atexit in purpose of custom error handling?" как то так https://onlinegdb.com/usysPo07FR #supapro топик... #non pro
Я шарпист:) Проф карьеру в С++, завершил, лет 6 назад. Но буду иметь ввиду. Не могу представить, что кто то будет спрашивать на С++ собесе об atexit и с лукавством смотреть, на кандидата. Явно позиция на поддержку убер легаси проекта:)
О_О спасибо, пошел пробовать
В системном программировании это прям если не basics, то advanced basics. И разговор туда без всякого лукавства ожидаемо приходит как раз после вопроса о том как вообще работают исключения. Ну или что вообще есть в коде до или после main()
Я не спорю, сам люблю низкоуровневые штуки. Про исключения смотрел часовые доклады на С++ group (наверное я ещё не совсем понимаю, как они работают:)), вершина это часовой доклад об инициализации const.
Кроссплатформенность – обеспечение работы как на старых так и на новых системах. Это и все версии Windows 95, 98, Me. А так же поддержка старых систем Linux начиная с 2000-го года. В будущем планирую обеспечить поддержку Dos, Ну то есть - Фетиш :))
Ну то есть да, но не совсем. Мне нравится нативно разрабатывать на старом железе, сразу видны проблемы производительности. На i5 11400 все слишком летает.
Да чтож Вы такого к примеру на С++11 можете написать, что это сделает Ваш код настолько заметно менее производительным по сравнению с С++98 ??
Это здесь не при чём, С++ 98 обхват систем больше.
Как же не причем ? Вы же сами написали " Мне нравится нативно разрабатывать на старом железе, сразу видны проблемы производительности. На i5 11400 все слишком летает."
Именно, нативно на windows 95 я С++ 11 код не соберу.
Ну так я про то и пишу. Что это чистый фетиш. КТо реально сейчас использует Window95 ?
Есть энтузиасты, в основном для старых игр. Понятно, что это очень узкая ниша. Поэтому фреймворк работает и на новых системах. При чём здесь фетиш, это лишь возможность сборки на старых и под старые системы в том числе. Просто особенность. Не воспринимайте это так близко к сердцу. С++ 20 наше всё.
Это затрачиваемое время для 0.0001% людей. Это Вам приносит Реальный доход ?
Нет. Я вообще fullstack разработчик.
Я про это и пишу :)
Не так уж и много нужно кода, что бы опеспечить поддержку настолько старых систем. Строк 10 для Windows 95, для OpenGl 1 1000 строк, OpenGl3 800 строк, остальное шейдеры.
А что конкретно поддержать?) условного аналога фьютекса на вин95 нет
Запускаемость и совместимость с api.
Обсуждают сегодня