- 1
- 2
- 3
int hcreate(size_t nel);
ENTRY *hsearch(ENTRY item, ACTION action);
void hdestroy(void);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
int hcreate(size_t nel);
ENTRY *hsearch(ENTRY item, ACTION action);
void hdestroy(void);
Using these functions, only one hash table can be used at a time.
The argument nel specifies the maximum number of entries in the table. (This maximum cannot be changed later, so choose it wisely).
Individual hash table entries can be added, but not deleted.
Одной хеш таблицы хватит для всех, ресайзить её или удалять элементы - нинужная фича.
КОКОКО ЛИНУКС НЕ СТАНДАРТ ТАК НЕПРАВИЛЬНО ОДНОЙ ТАБЛИЦЫ ХВАТИТ НА ВСЕХ!!!пыщ-пыщ-пыщ
K&R ведь при создании языка главным критерием считали простоту создания конпелятора.
Как-будто где-то кроме x86 есть математический сопроцессор со стеком...
*****
Глянул руководство по VFP, используемому на ARM — и правда, там все инструкции ссылаются на произвольные регистры, а не на стек.
А какие процессоры с сопроцессорами сейчас распространены?
Кстати, а ведь когда-то время жизни программ было другим. Не было монстроподобных программ типа Open Office, зато были мелкие консольные утилиты, выполняющие одну мелкую операцию, типа cat, grep, sed, diff, patch, head, tail, split. Возможно, когда изобретали POSIX, думали, что сложные процессы будут составляться из запусков маленьких программок, которые будут жить недолго.
С каким осуждением-то написано: мол, какие-то дебилы постоянно пересоздают свою хэштаблицу, вместо того чтобы как нормальные люди взять одну на всё время работы программы!
Ein Thread!
Eine Haschtabelle!
Что же касается заимствований Thread и Hasch, то я мог бы написать исконно немецкие варианты, но, во-первых, большинству читателей ГК будет труднее, во-вторых, я не знаю, какое из слов, обозначающих нить, используется в компьютерной терминологии.
Кстати:
http://www.linguee.com/english-german/search?source=auto&query=thread
И самое смешное (осторожно, среди примеров есть сленг):
http://www.linguee.com/english-german/search?source=auto&query=hash
th как think
th как that
s как доллар
three - [hri]
throw - [hro]
through, threw - [hrʉ] (Википедия про th)
threwknee!
Как th в слове that читается буква «дельта».
В немецком полно заимствованных слов, которые читаются не по правилам. der Thread, кмк, оптимальный перевод.
Впрочем, я с микрушнёй не работала, спорить не буду.
у нас в одной либе большие аргументы (мегабайт-два) передаются из функции в функцию через файл, потому что памяти мало
а чтобы быстрее работало, файл создается на рамдиске
slow call, по аналогии со fast call
Правда, придется при каждом вызове метода обращаться к оператору, призывая его звоночком чтобы он перестал пить чай, и заправил кассету
Оператор может дешевле обойтись если скорость не нужна...
оператор нужен, чтобы записанные LTO кассеты забирать и увозить в банковское хранилище
недавно со мной рядом сокрушались, что когда-то была ещё и возможность архивировать на оптику, было очень прельстиво - сразу несколько физически разных носителей для ценных бекапов использовать - а сейчас уже болванки умерли, грусть печаль
Все мои надежды у побережье рек
Все мои данные на дне озер
Можно увидеть,
Как по ней проплывает
Бэкап твоего врага.
Из села Кукуево
Объясни дураку, почему в SSDT написано что встроенная в процессор карта сидит на шине PCI?
Вообще если читать эту таблицу (или читать device manager / devices by connections в винде или dmesg на bsd) то можно увидеть что прямо из ACPI растет PCI и на ней сидят все, включая PCI-E.
Зачем?!
Если не туплю, то это PCI Express Root Complex (раньше назывался PCI Host Bridge, линукс его так и показывает).
> встроенная карта сидит на PCI
Вай нот? Чтобы операционки её видели и конфигурили как нормальный PCI девайс, удобно же.
Ну, тут я понимаю, только он не "раньше так назывался" а так он назывался в PCI: контроллер PCI сидел в северном мосту (позднее в мемори хабе) и назывался PCI Host Bridge (мост между хостом(процессором) и PCI).
У PCI-Expressа подобный "корень" называется root complex и сидит (уже довольно давно) на кристалле.
Тем не менее рут комплекс косплеит PCI host (мой sl):
>>Вай нот?
Значит, шоб не быть голословным -- вот он
(кстати, что такое _ADR? Device 2 в терминах PCI?). Теперь, чего я собссно не понимаю:
1) мне казалось что ACPI нужен чтобы найти корень, а там уже опросить шину специальным PCI способом (с помощью интерфейса того самого рута/бриджа).
Можно представить что он реально сидит на PCI-Express (внутри кристала) но тогда накой хуй его хардкодить?? Его комплекс бы и так нашел. Выходит, что на PCI-Express его правда нет.
2) Но если его нет, то как у него может быть device number?
Разве не рут комплекс должен "знать" топологию своей шины?
Его обманули и заставили верить чот у него там еще девайс сидит?
А если я отключу его методом из ACPI то у меня и моник погаснет?
3) Как фирмварь знает про мой встроенный видео? Или она в момент POSTа узнала про мой проц, и НАЛЕТУ ПРОПАТЧИЛА ACPI таблицу?
--
Вообще на каких форумах (можно англицких) про это лучше всего пиздеть? 99% "комптюетрщиков" нихуя не понимаю про ACPI:(
Ещё ради управления питанием, кулерами и прочим говном. Ну и чтобы найти адреса всякой мелочи типа ACPI таймера или легаси железок, которые не видно в PCI.
> Его комплекс бы и так нашел.
Ну описали и описали. Тебе мешает? По-любому оно и по нормальной енумерации находится.
> НАЛЕТУ ПРОПАТЧИЛА ACPI
SSDT это вроде как раз и есть динамический довесок к DSDT.
> нарисовать деревце
Эти таблицы же не совсем таблицы, это ебучий байткод (ASL), который исполняется ядром оси. И список девайсов, который будет описан в этой "таблице", может зависеть от версии операционки(!) (у меня так линукс на ноуте умер из-за того, что виндой 8.1 прикинулся).
Разумеется. Но я сейчас не про термаильные зоны, а про построение дерева устройств и их методы.
>>Ну описали и описали. Тебе мешает?
Я пытаюсь понять: действительно-ли физически видеядро находится по ту сторону PCI-Express?
Если я попрошу у руткомплекса сделать энумирацию -- он действительно мне найдет GFX0?
>>оно и по нормальной енумерации находится.
..а тада зачем пейсать?
может, ради того чотбы навести всякие методы типа
?
Ну типа через PCI же их не экспортнешь.
>>это вроде как раз и есть динамический довесок
тогда ок, тогда я все понял
>>операционки
да, это когда там написана проверка что Os Windows2009, я понимаю.
Вот тебе говнеца из моей таблички
Окей, идею построения дерева нахуй.
А есть хороший юзерфрендли туториал кроме спеки и доки по ACPICA?
Мне чото стало интересно лучше понять это говно
о, aida64 engineer умеет деревце по acpi