- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
http://faqs.org.ru/progr/c_cpp/cfaqrus.htm
1.14: Ну а если честно, на какой-нибудь реальной машине используются
ненулевые внутренние представления нулевых указателей или разные
представления для указателей разных типов?
О: Серия Prime 50 использует сегмент 07777, смещение 0 для нулевого
указателя, по крайней мере, для PL/I. Более поздние модели используют
сегмент 0, смещение 0 для нулевых указателей С, что делает
необходимыми новые инструкции, такие как TCNP (проверить нулевой
указатель С), которые вводятся для совместимости с уцелевшими
скверно написанными С программами, основанными на неверных
предположениях. Старые машины Prime с адресацией слов были печально
знамениты тем, что указатели на байты (char *) у них были большего
размера, чем указатели на слова (int *).
Серия Eclipse MV корпорации Data General имеет три аппаратно
поддерживаемых типа указателей (указатели на слово, байт и бит), два
из которых - char * и void * используются компиляторами С. Указатель
word * используется во всех других случаях.
Некоторые центральные процессоры Honeywell-Bull используют код 06000
для внутреннего представления нулевых указателей.
Серия CDC Cyber 180 использует 48-битные указатели, состоящие из
кольца (ring), сегмента и смещения. Большинство пользователей
(в кольце 11) имеют в качестве нулевых указателей код 0xB00000000000.
Символическая Лисп-машина с теговой архитектурой даже не имеет
общеупотребительных указателей; она использует пару <NIL,0> (вообще
говоря, несуществующий <объект, смещение> хендл) как нулевой
указатель С.
В зависимости от модели памяти, процессоры 80*86 (PC) могут
использовать либо 16-битные указатели на данные и 32-битные указатели
на функции, либо, наоборот, 32-битные указатели на данные и 16-битные
- на функции.
Старые модели HP 3000 используют различные схемы адресации для байтов
и для слов. Указатели на char и на void, имеют, следовательно,
другое представление, чем указатели на int (на структуры и т.п.),
даже если адрес одинаков.
В зависимости от модели памяти, процессоры 80*86 (PC) могут
использовать либо 16-битные указатели на данные и 32-битные указатели
на функции, либо, наоборот, 32-битные указатели на данные и 16-битные
- на функции.
[/quote]
либо и те и другие (huge model)
Ты прав на счет перехлеста: Один и тот же адрес мог быть виден в разных сегментах, и этим даже пользовались чтобы лишний раз не менять адрес сегмента (см историю про Gate A20).
Но в целом укзатели обычно были двух сортов: только смещение (ближние) или сегмент:смещение (дальние), причем сишный компилятор мог вести себя с ними по разному: арифметика указателей обычно крутила только смещение, не пересекая границы сегмента, но у Борланда были большие указатели, которые могли пересекать границу сегмента, при этом в регистр сегмента реально грузился другой адрес, так что не все операции с указателями были равны по скорости:)
а небось в современном стандарте уже прямо написано что указатель на нуль разыменовывать не следует
Информации о кроссплатформной переносимости тулкитов (возможности работы в
Windows и MacOS) я не привожу специально, так как считаю что писать
кроссплатформные GUI в большинстве случаев вредно. GUI должен быть удобен
пользователю. Пользователям Unix и оболочек дешевых удобно разное. Исключения
бывают, но редко (вертикальные рынки).
Q: А если мне самому память нужна?
A: Используй библиотеку для своппинга в XMS/EMS/Disk - перед запуском внешней
программы твоя программа вместе со всеми данными переписывается в XMS/EMS
или на винт, а после завершения внешней - восстанавливается. Можно вос-
пользоваться, например, юнитом SPAWNO от Ральфа Брауна
http://faqs.org.ru/lan/street.htm
мы тоже когда-то кидали кабель через окошки, но это уже была обычная витуха
to: Linux users
Если при сборке не найден ndbm.h -- пойти на любой linux ftp site
(ex: ftp://ftp.redhat.com/pub/contrib/*/SRPMS/), скачать
gdbm-*-1.7.3.*
Из него вытащить ndbm.h и положить в /usr/include/.
[quote]
LOCAL_RULE_3
R$+ < @ $+ . fidonet . org > $* $@ $1 < @ $2 . fidonet . org . > $3
R$+ < @ $+ . fidonet > $* $@ $1 < @ $2 . fidonet . org . > $3
R$+ < @ $+ . fido > $* $@ $1 < @ $2 . fidonet . org . > $3
R$+ < @ $+ . ftn > $* $@ $1 < @ $2 . fidonet . org . > $3
^^^^^^ здесь табуляция!!!
[/quote]
ахахахаха
интернет в 1994, например
http://faqs.org.ru/lan/rel_lan.htm
знающий о своей малограмотности, и пытающийся узнать о компьютерном
мире побольше. Не является оскорблением, а является характеристикой
Ваших познаний в компьютерах. Все когда-то были чайниками.
http://faqs.org.ru/games/relgames.htm
бля, я внезапно увидел кажется знакомые имя и фамилию там.
надо завязывать с этим порталом в 1999й год
> Небось админом работаешь? Сеть настроена, ничего нигде не горит кроме глупых
> пингвинов, инет халявный...
Ого, я не знал что Сёма пишет на RSDN
Дата: 12.01.05
Читал в Компьютерре за 97 год
--
круговорот баянов в природе
я нет
А GET-параметр не в «UTF-8», а в «windows-1251». Какой 2005-й год )))
https://www.youtube.com/watch?v=rX3W5evpeJE
Я был маленький и глупый, говнокодил на `Wolfram Mathematica', `CUDA' и `MPI', и проблем не знал. Собирался как-то в деревню без интернета со старым ноутом. Т.к. он был без невидевской видюхи, решил я найти для CUDA простую альтернативу, которая работала бы на CPU. Листал на вики список языков, поддерживающих многопоточность, и нашёл статью про такой язык Erlang, который поддерживает дохера потоков и умеет в распределённость. "Ну это как CUDA и MPI", решил я. Что такое функциональщина я тогда ещё не подозревал. Думал, что функциональный язык это как паскаль, в котором нет процедур, только функции (функции — как в паскале). Скачал дистр, пару книжек по нему и уехал в тайгу.
Там выдалась свободная минутка, чтобы начать тыкать примеры. Иммутабельность для меня стала большим сюрпризом, лол. Я долго ходил по лесу кругами, абсолютно ошарашенный, пытаясь понять, как написать простейший интегратор Верле на идиотском языке, где все переменные сломаны, пока наконец не нашло озарение.
уважение
Поясните мысль.
Статья на вики описывает самую суть психозной интоксикации.
The name is a play on "Associated Press" and the psychiatric term dissociative identity disorder (which may result in somewhat similar word salad during quick switches between personalities).
The algorithm starts by printing a number of consecutive words (or letters) from the source text. Then it searches the source text for an occurrence of the few last words or letters printed out so far. If multiple occurrences are found, it picks a random one, and proceeds with printing the text following the chosen occurrence. After a predetermined length of text is printed out, the search procedure is repeated for the newly printed ending.
Considering that words and phrases tend to appear in specific grammatical contexts, the resulting text usually seems correct grammatically, and if the source text is uniform in style, the result appears to be of similar style and subject, and takes some effort on the reader's side to recognize as not genuine. Still, the randomness of the assembly process deprives it of any logical flow - the loosely related parts are connected in a nonsensical way, creating a humorously abstract, random result.
Именно поэтому я за wvxvw.
А что загадочного-то? Сделать минимально работающий мажорный режим там очень легко, постепенно расширять код на elisp — тоже одно удовольствие. Очень приятный язык, на самом деле. Вот если бы там плагины на ЙАЖА писались, и для создания одного диалога требовалось бы три класса в трёх файлах и повторить @Override public static final тридцать раз, никто бы им не пользовался, кроме крупных корпораций для поддержки копротивных языков.
впрочем, емакс это всё равно сила
проблема не в поддержке lsp, а в авторах модов конкретных языков
хотя может там уже все всё давно починили, я просто как-то емаксом уже почти год плотно не пользовался
Я в 90% случаев использую только фичу autocomplete-mode под названием "words in the same buffer type". Она выдирает лексемы из всех открытых буферов с той же мажорной модой. Это крайне тупая эвристика, но быстрая и предсказуемая, и работает одинаково для любого языка. Т.к. обычно у меня в одном процессе открыты буферы, относящиеся примерно к одной задаче, получается неплохо.
А семантический completion через LSP обычно через некоторое время начинает тупить, притормаживать, вызывая вопрос "ну где же ты?", и только мешать. Короче, анскильная питушня, нужная только для ЙАЖА.
а ты пробовал cftags? они мне неплохо комплитили сишечку в vim
Не "same buffer". "same buffer mode" Так что работает.
с другой стороны, это не дает ctrl+space программированием заниматься, а джависты иной раз так именно и пишут
Вместо чтения документации просто ищут подходящий метод, и это плохо
Вместо что куда можно комплишен получается неосознанный? он не отличит
что куда можно комплитнуть?
Само собой.
> Вместо чтения документации просто ищут подходящий метод, и это плохо
Я и в имплементацию обычно гляжу, лол.
да, это причина по которой питухи с удовольствием пишут LSP сервера для VSCode, но не хотят писать плагины для Intellij: от вербозности джавы глаза слезятся у скриптухов
https://www.alexander-pluhar.de/img/openbsd-64-65/openbsd-65-upgrade.png
а если без зелененького, то openbsd значительно меньше, минималистичнее, примитивнее, у них свои собственные сервисы почти для всего (очень легкие, надежные и хорошо документированные), отличный файрвол из коробки (pf), поддержка всяких крутых штук типа CARP, своя версия иксов сильно упрощенная и W^X и куча мелких оптимизаций для безопасности типа рендомных пидов у процесса и перелинковки ядра при запуске и хамский Тео, которого выгнали из NetBSD за то, что он хуесосил пользователей.
А еще раньше были песенки про каждый релиз.
Но в целом все BSD хорошо документированы и уютны.
Линукс малость напоминает помоечку с анархией, недокументированными командами и поттерингами по сравнению с бзд
давно-давно у меня на работе были бзди, но уже очень давно линукс всех убил
мне было бы интересно поработать с бздями, но я даже не представляю как это можно монетизировать в моем городе, разве что в каком-то древнем провайдере работать админом ))
Потом вспомнил «Панораму ТВ»
А Спичка туда же писал колонку
Возможно, вы имели в виду: Ripper
Известная тема.
> Серия Eclipse MV корпорации Data General имеет три аппаратно поддерживаемых типа указателей (указатели на слово, байт и бит)
Вот адресация битов, это что-то новенькое.
На некоторых ARM'овских контроллерах есть регион, в котором биты оперативки видно как байты (при записи происходит read-modify-write соотв. байта чтобы поправить бит). Т.е. указатели на этот регион можно юзать как аппаратно поддерживаемые указатели на биты... Правда не особо шустрые из-за RMW.
Какое многообразие вореантов )))
Именно поэтому я за "Unix"