Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как узнать имя устройство для ввода-вывода?
 
 автор: dump   (22.11.2011 в 13:05)   письмо автору
 
 

Когда мы используем функции ввода-вывода, например file_put_contents (); для открытия файла, нужно сообщить имя этого файла. Например "C:\dump.txt". А как узнать имя для вывода, скажем на звуковую плату или в принтер? Как устройства задают эти имена?

  Ответить  
 
 автор: cheops   (22.11.2011 в 13:22)   письмо автору
 
   для: dump   (22.11.2011 в 13:05)
 

В UNIX-подобных операционных системах все просто, в них имеется виртуальная файловая система. Поэтому теоретически, при наличие соответствующих прав доступа, вы можете обращаться к файл-устройствам. Хоть пишите, хоть читайте, если знакомы с протоколом устройства. В Windows вот так запросто не получится - тут интерфейсы не файловые. Чтобы такой файловый интерфейс эмулировать на Windows - придется здорово попотеть и то не факт, что добьетесь успеха. В любом случае потребуется создание собственного драйвера... обычно легче воспользоваться готовым драйвером, который писали люди, во-первых понимающие как их писать, во-вторых знающие как устроена железка для которой драйвер писан. Да и довольно жестко в Windows с этим делом - он вам не даст напрямую манипулировать железом, только через свои подсистемы. Именно поэтому и возник DirectX - невозможно было через медленный и неповоротливый механизм Windows быстро пробиться к железу и выжать из него все, на что оно способно. Поэтому DirectX - позволяет обращаться к звуку, видеопамяти, устройствам ввода напрямую... вернее не совсем на прямую, а через DirectX. Вот так вот, чтобы напрямую с звуковой картой общаться (а может и сжечь её в результате общения) - это нужно от операционной системы отказываться, по крайней мере от Windows, и либо свою писать, либо использовать Linux.

  Ответить  
 
 автор: Киналь   (22.11.2011 в 19:45)   письмо автору
 
   для: cheops   (22.11.2011 в 13:22)
 

А как же CON, PRN и прочие? Или уже не работают?

  Ответить  
 
 автор: cheops   (22.11.2011 в 20:43)   письмо автору
 
   для: Киналь   (22.11.2011 в 19:45)
 

>А как же CON, PRN и прочие? Или уже не работают?
Первый вопрос где (работают или не работают)? Второй вопрос, что это ли хотя бы приблизительно из какой области? :)

PS До загрузки операционной системы и вирусы в пол килобайта работают... просто не всем такие спартанские условия подходят и не всем интересно на голом биосе.

  Ответить  
 
 автор: Киналь   (23.11.2011 в 22:53)   письмо автору
 
   для: cheops   (22.11.2011 в 20:43)
 

Э-э... Ну, я вроде читал, что это имена файлов, при обращении к которым в Windows происходит обращение к принтеру, COM-портам и прочему подобному. Ну там, fwrite("Hello world", "PRN") напечатает строчку, соответственно, "Hello world".

  Ответить  
 
 автор: cheops   (24.11.2011 в 00:01)   письмо автору
 
   для: Киналь   (23.11.2011 в 22:53)
 

Фактически информация все-равно пойдет сначала микро-драйверу (или как они там сейчас называются), потом драйверу, а потом самому устройству. Т.е. ни сжечь, ни поломать устройство не удастся. Да, многие интерфейсы файловые или хотят ими выглядеть (в том числе и под Windows), но не все. Кроме того, в Windows теряется наглядность, т.е. вроде как к файлу обращаешься, но самого по себе такого файла в файлововой систем, как в Linux, нет. Что же это за файл такой, если он не существует? Да, конечно, и в Linux они не физические, но можно пойти файловым менеджером и проверить, есть в системе принтер или нет... а ведь это очень удобно, вы можете использовать файловые функции (любого языка программирования) для проверки существования тех или иных устройств (как и для назначения прав доступа к ним), в Windows же для этого 1001 функций и механизмов.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования