Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Он уже не рефрешится. Ключевое слово заполнить - быстрее, чем заполняется не будет. А заполнять, как ни крути, время нужнО.
"Загрузка" без обращения к дисковому буферу - это и есть просто заполнение байтом.
Да в общем-то скорость сейчас нормальная - это мне на ноуте с 366 МГц казалось, что медленно,
на ноуте с 2.5 ГГц - так уже не кажется.
_________________ iLavr
|
11 Feb 2014 16:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Что-то у меня тут под Вендой 7 проблема возникла совершенно неожиданная...
Компилятор ресурсов стал прописывать пути для ресурсов в файл *.rc вот так:
MAINICON ICON "C:\\PROGRAM FILES\\SAMPLES\\MY_PROG\\BINEDIT\\DOC.ICO" MYDLGICO ICON "C:\\PROGRAM FILES\\SAMPLES\\MY_PROG\\BINEDIT\\DLG.ICO" MYDLCURS CURSOR "C:\\PROGRAM FILES\\SAMPLES\\MY_PROG\\BINEDIT\\HAND.CUR"
То есть в путях слэши почему-то стали двойные...
После чего такой файл BINEDIT.rc сам же компилятор компилировать не может.
Пишет - ошибка.
Если поправить слэши вручную обратно в " правильные" - то компилирует нормально.
Но я уже понял, что под Вендой 7 многим программам (если не всем) путь передается
с двумя слэшами (или это как-то при передаче происходит).
Из-за чего некоторые старые программы не могут открыть назначенные для них файлы.
Погуглил - да, проблема встречается не только у меня. Но с чем она связана и как её порешать,
явного ответа пока не нашел...
Возможно, кто из наших коллег знает?
_________________ iLavr
|
13 Feb 2014 23:08 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22770 Location: Silicon Valley
|
два бекслеша это по сишному - видимо кто-то из мелкомягких программистов попутал и вытащил чисто программное написание на уровень пользователя...
|
13 Feb 2014 23:17 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да, я прочитал такую версию, что "по сишному" один бекслеш якобы "маскирует" другой.
Но как соотнести это с путями.
У меня была давно такая проблемка с одной всего программой уже и не помню на какой машине.
Порешал, помню, в лобовую: написал для программы "стартер" с её именем, а саму программу -
переименовал. "Стартер" получал " неправильные" пути, переделывал их в " правильные" и с ними
вызывал саму программу.
Но это ведь как " удалять гланды... автогеном... через жопу..."!
Что-то вроде пытается прояснить статья: Slash и backslash: вехи на пути, но как-то не очень внятно...
_________________ iLavr
|
13 Feb 2014 23:39 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
При перетаскивании и "выполнить с помощью" за прием командной строки с путем отвечает
функция API:
GetCommandLineA()
Проверил её отдельно на маленькой программке - возвращает нормальный путь, правда
в кавычках, что значит передачу длинных имён...
Значит глюк двойных слешей возникает не здесь.
_________________ iLavr
|
14 Feb 2014 02:01 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
С этим разобрался, просто теперь для вот этой папки:
C:\PROGRAM FILES\ у Венды 7 нет короткого имени C:\PROGR~1\
Это приводит в ступор некоторые старые программы.
И я даже не знаю, как это исправлять...
_________________ iLavr
|
14 Feb 2014 04:48 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
С этой проблемой многие столкнулись, поскольку у всех есть свои какие-то нужные старые
программы, которые люди тащут за собой на Винду_7, а эти училиты никак не понимают
длинное имя " PROGRAM FILES".
Выход подсказывают такой: прежде всего в корне диска С:\ выполнить команду:
dir /x
она показывает имена в формате 8.3 наряду с длинными.
И если у PROGRAM FILES нет короткого имени PROGRА~1, то надо попробовать
его сделать.
Сначала формирование имен в формате 8.3 надо разрешить в принципе:
С:\fsutil behavior set disable8dot3 0
если это произошло успешно, то формируем короткое имя:
С:\fsutil file setshortname "PROGRAM FILES" "PROGRA~1"
Первая операция у меня удалась, хотя я её и сделал через редактор реестра - там
это значение "0" надо выставить в параметре NtfsDisable8dot3NameCreation.
А вот со второй операцией - фиаско полное... Хотя я единственный пользователь-
админ своего ноута, доступ к этой операции мне Венда 7 никак не даёт!
Хотя я уже выполнил кучу ухищрений из хелпов и интернета, чтобы своим жестким
диском овладеть!
_________________ iLavr
|
14 Feb 2014 10:31 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22770 Location: Silicon Valley
|
Есть способ решить твои проблемы
1. ставишь на свой новомодный ноут один из последних линухов
2. на линух ставишь VirtualBox (в дебиане вроде доступен из стандартных пакетов)
3. инсталлируешь в VirtualBox самый лучший дос "Зло-98SE"
4. получаешь винду в окошке
|
14 Feb 2014 10:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Если ты обратил внимание, то я к этому с разных сторон и прицениваюсь!
Но перед п. 1, и пока на диске нет множества программ, я помучаю всё же " Зло 7"!
Пока не сломается...
_________________ iLavr
|
14 Feb 2014 11:00 |
|
|
DimkaM
Maniac
Joined: 22 Jun 2005 04:35 Posts: 260 Location: МО Россия
|
У меня откуда то уже есть короткие имена. вин7х64
Может это потому что ты через реестр короткие имена включал, а не через CMD от имени администратора?
|
14 Feb 2014 11:44 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22770 Location: Silicon Valley
|
Ну про VirtualBox речи пока не шло - я только сегодня вспомнил про такой вариат, который кстати у меня самого давно имеется - просто есть пара старых полезных виндовых программок, которые не работают в Wine, вот для них у меня VirtualBox и установлен с 98SE в нём - там удобно тем, что образ диска в файле и этот файл можно бекапать, т.е. что-то сломал - откатил файл обратно и играешься дальше
|
14 Feb 2014 11:57 |
|
|
DimkaM
Maniac
Joined: 22 Jun 2005 04:35 Posts: 260 Location: МО Россия
|
Сменить шортнейм не даёт.
Но удалось сменить шортнейм у програмфайлса, из под рекавери консоли.
D:\>windows\system32\fsutil file setshortname "Program Files" PROGI
Я так думаю потому что, какие нить проги и дллки запущены из програмфайлсов, по этому не даёт переименовать шортнейм
|
14 Feb 2014 12:16 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Похоже, что у меня Венду ставили при запрещенных коротких именах. Потому что у меня только одно короткое имя папки " Total Commander" - которую я сам ставил. Больше коротких имен ни у одной длинной папки нет. А сейчас, когда короткие имена разрешены, они создаются одновременно с длинными. Я в папке WinUtils специально создал для проверки " Program Files" - и у него сразу было короткое имя PROGRА~1. Вся "теория" с именами следующая: | | | | Quote: В системах Windows Server 2008/2003, Windows 7, Windows Vista и XP файловая система NTFS по умолчанию назначает имена в старом формате 8.3 для каждого файла с длинным форматом файлового имени, чтобы предоставить возможность старым приложениям иметь к ним доступ. Если вы не пользуетесь старыми приложениями или файловый сервер сильно нагружен, то настройка или даже отключение имен 8.3 может значительно увеличить производительность файловых операций.
В соответствии со стандартными настройками, имена 8.3 устанавливаются на базе выбора разделов. Имена 8dot3 можно отключить вообще, а можно отключить для всех томов, кроме системного тома или раздела.
Эта функция регулируется ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
Установите для NtfsDisable8dot3NameCreation любое из следующих значений: 0 – включить генерацию имен 8dot3 1 – отключить генерацию имен 8dot3 2 – включить генерацию имен 8dot3, базирующихся на выборе разделов (по умолчанию) 3 – отключить генерацию имен 8dot3 для всех разделов, кроме системного
Также эту функцию можно настроить путем непосредственного редактирования ключа реестра или с помощью команды fsutil
Команда fsutil 1. Нажмите Пуск – в строке поиска введите cmd, щелкните по пункту правой кнопкой и выберите «Запуск от имени администратора». 2. В командной строке введите следующее: fsutil 8dot3name set <0,1,2,3> где 0, 1, 2, 3 – соответствующие значения. Перезагрузите систему, чтобы изменения вступили в силу. | | | | |
_________________ iLavr
|
14 Feb 2014 12:51 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я про него и сам давно знаю. Я ж искал себе различные эмуляторы DOS и читал про них
довольно много.
_________________ iLavr
|
14 Feb 2014 12:56 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22770 Location: Silicon Valley
|
Кстати вроде DOS на VirtualBox как раз и не поставить - это должна быть более-менее современная ОС с гостевой поддержкой - для доса есть DosBox
P.S. хм, DOS в списке есть, однако "Only limited testing as part of system installation processes has been performed"...
P.P.S. VirualBox умеет даже Mac OS X Server (Leopard, Snow Leopard) запускать
P.P.P.S. Кстати наоборот тоже можно - поставить VirualBox в Зло-7 и гонять в нём разные линухи из списка
|
14 Feb 2014 13:02 |
|
|