VictorVG4
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору unreal666 Сетевые и локальные имена с точки зрения ОС это разные адресные пространства, а ограничение для MAX_PAТH относится только к пространству локальных Win32 адресов. Brink автор этого разъяснения с Windows 10 Forums - By default, the maximum path length limit in Windows is 260 characters. неточно выразился, вдобавок всё что мог перепутал. В статье MSDN Naming Files, Paths, and Namespaces мы видим чёткие формулировки: Starting in Windows 10, version 1607, MAX_PATH limitations have been removed from common Win32 file and directory functions. However, you must opt-in to the new behavior. Мне вырванную из контекста цитату Brink-а прислали знакомые и я только сейчас отыскал её первоисточник, ну а посмотреть этот материал на MSDN сам бог велел. Для пользователя подобные ошибки допустимы, а вот если бы их выдал специалист - за такое "вольное" обращение со смыслом понятий надо ему голову отрывать... P.S. Кстати, ограничение Win32 API на значение MAX_PATH <= 260 байт с учётом разделителей имён каталогов, буквы тома и её разделителя (":"), имени файла не более 129 символов ASCII и завершающего нуля для библиотек пакета .NET Frimework снято только в версии .NET Frimework 4.6.2 (сам NDP462 (en-US, 59.1 Мб) , русский языковый пакет (ru-RU, 5,4 Мб) и самый полный комплект - Microsoft .NET Framework 4.6.2 Developer Pack (97,2 Мб, включая русский языковый пакет) - Пакет Microsoft .NET Framework 4.6.2 Developer Pack объединяет в себе .NET Framework 4.6.2, пакет .NET 4.6.2 Targeting Pack и пакет SDK .NET 4.6.2. Соответствующий языковой пакет для Developer Pack содержит языковой пакет .NET Framework 4.6.2, языковой пакет для пакета SDK .NET 4.6.2 и файлы Intellisense.) - и заметь! - ограничения сняты только для Windows 10 Insider Preview Build 14352 и новее - M$ нет смысла выпускать подобные обновления для более ранних но формально поддерживаемых версий ОС. Причины элементарны - надо продавать свежие версии ОС вне зависимости от степени их готовности и наличия ошибок, ну такая "мелочь" как план выпуска новых продуктов вечно горит синим пламенем, да и акционеры требуют постоянного и всё большего поступления денег на свои счета ибо на дворе мировой финансовый кризис, а им на что-то жить надо. Так что если ты как разработчик будешь выпускать качественные продукты то тебя вмиг уволят за отсутствие прибыли от продаж и невыплату или снижение дивидендов по акциям компании. Это же азы экономики и любой инженер это прекрасно знает. Я не знаю, учат ли таким вещам сегодня - модель "образования" стала дикой, но нас этому ещё на первом курсе института учили. В том числе управлению и технологии производства, и многому другому - тогда эти знания считались базовыми для любого инженера. Так что факт формального снятия ограничений на длину MAX_PATH в Windows 10 Insider Preview Build 14352 не означает что приложения созданные ранее их не имеют если используют системную реализацию файловых функций из Win32 API, более того, они могут иметь и более строгие ограничения, например ограничения пространства имён 8.3 (DOS). Например Total Commander использующий файловые функции WinAPI не может выйти за их пределы, так же как и Far 1.x, насколько помню и для Far 2.х они есть. Но в Far 3.0 уже используется собственная реализация файловых функций и он работает с длиной пути до 32768 символов UTF-16 LE (ограничение NTFS) и потоками, символическими и жёсткими связями, точками монтирования каталогов (Junсtion, Repairse Point) NTFS "из коробки", а главное делает это без проблем и костылей, а в Explorer, TC, MultiCommander и им подобных основанных на Win32/Win64 API файл-менеджерах об этом и мечтать не приходится. . Пустячок, но приятно.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") |
| Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 04:31 12-09-2016 | Исправлено: VictorVG4, 06:28 12-09-2016 |
|