Этот вопрос, вероятно, лучше подходит для StackOverflow, но он слишком стар для переноса. Также userdict
— это специальный словарь, определяемый языком постскриптума; другие словари просто называются словарями или dicts .
Похоже, вы пытаетесь создать файлы EPS (Encapsulated PostScript ). Файлы EPS должны быть автономными -. Поэтому они не должны зависеть от данных из другого файла.
Чтобы сделать их обычными PostScript, измените первую строку на
%!
или
%!PS
. Затем вы можете использовать оператор run
для запуска файла со словарем.
Кроме того, вы не создали «глобальный» словарь, если не используете true setglobal
для изменения режима выделения на глобальный. Но также имейте в виду, что вы не можете просто использовать def
с объектом, выделенным в глобальной памяти. Объекты в глобальной памяти не могут храниться в словарях или массивах, которые находятся в локальной памяти (, например userdict
). Поэтому, если вам действительно нужен глобальный массив, вы должны поместить его в globaldict
.
currentglobal
true setglobal
globaldict /ObjDict 30 dict put
setglobal
Но вам, вероятно, не нужно использовать глобальную память.
Очень кратко:
Записи в /sys
на самом деле не являются файлами. Это монтирование имеет тип sysfs
, и в ядре это соответствует API, где другие части ядра могут регистрироваться. Затем, когда «файлы» этой файловой системы читаются или записываются, sysfs перенаправляет эти действия зарегистрированным модулям.
Уровеньgpio
(ввода-вывода общего назначения )ядра снова является абстракцией, в которой могут регистрироваться другие драйверы. Обычно это драйверы микросхем или наборов микросхем, которые имеют регистры GPIO в самих микросхемах. То, как подключены контакты GPIO этих чипов, зависит от аппаратного обеспечения.
Немного больше информации можно найти в Documentation/gpio/gpio.txt
и т. д. в исходном коде ядра.
Что касается способов идентификации драйвера, один из способов ll gpio432
состоит в том, чтобы после создания узла gpio и просмотра символической ссылки; он укажет на устройство с чипом/чипсетом с регистрами GPIO. Затем найдите драйвер для этого устройства.
Другой способ — просмотреть dmesg
и посмотреть, выдает ли драйвер сообщения при регистрации GPIO.
Возможно, эта информация также может быть доступна через udevadm
.