Я однажды словил баг в своём старом коде в функции, принимающей переменное число аргументов. Код был написан во времена, когда я был юн и неопытен, и про va_arg() не слышал.
Так вот, этот код, использующий адресную арифметику, служил верой и правдой на x86, и даже на x86_64 и ARM. Но на Windows ARM64 упал. Заработал после замены на va_start, va_arg и т.д.
#include <windows.h>
int AddItem(HWND hDlg, int itemId, LPCTSTR item) {
return ::SendDlgItemMessage(hDlg, itemId, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(item));
}
bool AddItems(HWND hDlg, int itemId, int itemCount, LPCTSTR item, ...) {
bool result = true;
for (int i = 0; i < itemCount; i++) {
if (AddItem(hDlg, itemId, *(&item + i)) < 0)
result = false;
}
return result;
}
Я проверял проект с помощью PVS-Studio и он ничего не сказал плохого.
N 40
Запись за границу массива – это неопределённое поведение.
В Win32 API часто встречаются структуры с массивом единичного размера в конце. Запись и чтение этих массивов тоже UB?
Наверняка написано с использованием модных фреймворков, представляю, сколько оно памяти ест. Вот даже их бандл на гитхабе весит аж 463 МБ. Win11 приложения славятся неторопливым выполнением. Чего стоит только Диспетчер задач или "Установка и удаление программ".
У меня Rainmeter на Win11 со своими простыми виджетами ест всего лишь 10 МБ оперативки.
Почему создатель Total Commander и по сей день обеспечивает поддержку систем начиная от Windows 95 , а они не могут? Или им пользователи не нужны, лишь бы свежий компилятор заюзать?
А программистов тоже отправят? А то они только кнопки умеют давить)
А нет какой-нибудь игры, в которой на секретной локации спрятан полноценный браузер?
Помню, когда-то давно ребята из Qt встраивали Webkit в 3d сцену, но вроде бы это не дошло дальше демки.
С первого раза не получилось(
N 39
Я однажды словил баг в своём старом коде в функции, принимающей переменное число аргументов. Код был написан во времена, когда я был юн и неопытен, и про va_arg() не слышал.
Так вот, этот код, использующий адресную арифметику, служил верой и правдой на x86, и даже на x86_64 и ARM. Но на Windows ARM64 упал. Заработал после замены на va_start, va_arg и т.д.
Я проверял проект с помощью PVS-Studio и он ничего не сказал плохого.
N 40
В Win32 API часто встречаются структуры с массивом единичного размера в конце. Запись и чтение этих массивов тоже UB?
А баги и глюки ИЕ он тоже будет эмулировать?)
При сборке C++ проектов всё упирается в процессор
Не знаю насчёт классов, а вот что такое юнит-тесты нужно объяснять сотруднику в 2023?
Как говорится, бесплатный сыр только в мышеловке
Будущее за опенсорс мессенджерами
А зачем с кем-то знакомиться и встречаться? У меня есть Linux.
С точки зрения SEO неудачное название.
А вы когда юзаете чужой код с гитхаба часто смотрите на лицензию?)
Наверняка написано с использованием модных фреймворков, представляю, сколько оно памяти ест. Вот даже их бандл на гитхабе весит аж 463 МБ. Win11 приложения славятся неторопливым выполнением. Чего стоит только Диспетчер задач или "Установка и удаление программ".
У меня Rainmeter на Win11 со своими простыми виджетами ест всего лишь 10 МБ оперативки.
Я в своё время выбрал Squirrel, потому что он ближе по синтаксису к C/C++.
А что сейчас без знания микросервисов бекендером не устроиться?
PHP-разработчики издавна славятся бережным отношением к безопасности. По статистике, 80% взломанных сайтов написаны на PHP.
Почему создатель Total Commander и по сей день обеспечивает поддержку систем начиная от Windows 95 , а они не могут? Или им пользователи не нужны, лишь бы свежий компилятор заюзать?
С такими знаниями может смело устраиваться на работу в какой-нибудь банк, ковырять что-то древнее.
А это безопасно?
А оно уже перестало конфликтовать с WSL 2?