EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору justmann Цитата: А что такого использует архиватор, чего нет в Вин2к? | В частности, компилятор. Иногда обнаруживается, что для поддержки новой функции новой Windows нужна очередная версия компилятора, которая уже утратила совместимость с какой-то из старых версий Windows. Цитата: По-моему, программы такого рода должны работать от Вин98 до Вин11 включительно. | В конечном счете это зависит от того, оправдывает ли количество пользователей под Win98, 2000 и XP затраты времени на возню с несколькими средами разработки, адаптацией кода, тестированием и отладкой. Вы сами закончили список на Windows 98, не включая Windows 95, NT 3.51, OS/2 и BeOS. Значит и вы считаете, что есть какие-то критерии исключения устаревших программно и аппаратно платформ. uShell Цитата: Архиватор использует функции ОС. | И это тоже. Чем старше Windows, тем больше системных функций ради ее поддержки приходится вызывать динамически, что утяжеляет и загромождает код. Для примера можно сравнить динамическую загрузку с обычным вызовом для тех же симлинков: Код: HMODULE hKernel32=GetModuleHandle(L"kernel32.dll"); if (hKernel32!=NULL) { typedef BOOLEAN (WINAPI* CREATESYMBOLICLINK)(LPCWSTR,LPCWSTR,DWORD); CREATESYMBOLICLINK pCreateSymbolicLink=(CREATESYMBOLICLINK)GetProcAddress(hKernel32,"CreateSymbolicLinkW"); if (pCreateSymbolicLink!=NULL) pCreateSymbolicLink(SymlinkFileName,TargetFileName,Dir ? SYMBOLIC_LINK_FLAG_DIRECTORY:0); } или: CreateSymbolicLink(SymlinkFileName,TargetFileName,Dir ? SYMBOLIC_LINK_FLAG_DIRECTORY:0); | А ради поддержки Windows 9x приходилось дублировать всю работу с путями файлов в ANSI и Unicode вариантах. |