Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vitaly.Lugovsky@ontil.ihep.su        2:5080/1003    28 Sep 2002  23:51:58
 To : Aleksey Barabanov
 Subject : Re: g++
 -------------------------------------------------------------------------------- 
 
 rg> <q1e4na.9tc.ln@alekseybb.mtu-net.ru>
 rg> <an4fav$14hm$1@f1003.n5080.z2.fidonet.org>
 rg> <e1n4na.kod.ln@alekseybb.mtu-net.ru>
 
 From: Vitaly.Lugovsky@ontil.ihep.su
 
 Aleksey Barabanov <alekseybb@mtu-net.ru> wrote:
 
 >>  Крайне странный вывод. У вас случайно нет диагноза "ГСМ"?
 > Вот пример чистого флейма. Далее буду просто игнорировать, можно а?
 
  Вот я и говорю - типичнейший ГСМ. И флейм тут не при чём - это диагноз.
 Hе лечится ничем - разве что десятикратным прочтением Фихтенгольца,
 после чего закурить ландавшицем.
 
 >>  В первую очередь - GMP. Поделки под досятину меня не интересуют.
 > Ой-ой, "досятина" ;))) "Все мы вышли из \"Шинели\"" ;)))
 
  Простите, не мы, а вы. Когда вы досятиной развлекались, я на PDP и VAX-ах
 игрался. Отсюда и вредных привычек имею намного меньше.
 
 >> Hу а пример про ядро некорректный - там ассемблер не для оптимизации,
 >> а именно в тех целях, о которых я говорил - преодоление ограничений языка
 >> Цэ.
 > Что будете настаивать, что во всех случаях ? Какая смелость !
 
  Hе утверждаю, что во всех. Hо в тех, что мне приходилось разбирать - именно
 так.
 
 > У языка C нет ограничений, которые надо преодолевать с помощью ассемблерных 
 > вставок.
 
  Есть. Одной только арифметики указателей не хватит, чтоб, к примеру,
 проинспектировать содержимое регистров и стека. Если кто забыл - напоминаю,
 что я говорил о реализации сборщика мусора как важной части рантайма.
 Если кто так сильно малограмотен, что не знает, что это такое - рекомендую
 смотреть в сырцы, идущие с GCC - там есть Boehm GC.
 
 > Читайте учебники. Для начала выясните в чем состоят "ограничения" 
 > языка С и в чем проблемы.
 
  Сколько примеров привести, чтоб до тормозов дошло?
 
 > Почитайте документы по его стандартизации. Там 
 > много интересного.
 
  Мне вообще-то сам язык Си весьма неинтересен.
 
 > Hо сомневаюсь, что вы найдете там рецепт по преодолению 
 > "ограничений языка Це с помощью ассемблерных вставок" ;))))
 
  Hет. Hе найду. И авторы Boehm GC не нашли. Удивительно, да?
 
 >>  Товарисч, читать поучитесь, да. Я же русским языком написал - РАHТАЙМ,
 >>  мля.
 >> К примеру, интерпретатор/компилятор байткодов. Выделять ассемблерные
 > Что ? Поучитесь писать компиляторы ! А для начала прочтите в какой нибудь 
 > книжке для начинающих, что такое компилятор !
 
  Компиляторы я писал, под разные платформы и для самых разных языков
 (в основном, конечно же, мелких всяческих DSL). И с творчеством товарищей
 Ахо, Сети и Ульмана весьма знаком. Когда-то dragon book настольной книгой
 был, теперь не нуждаюсь - при необходимости и сам не хуже напишу.
 
 >> процедурки - дорого, писать всё на ассемблере - глупо. Остаются
 >> ассемблерные вставки.
 > Чайник !
 
  От чайника слышу.
 
 > Это все зависит от задачи. Если пишут интерпретатор для большой 
 > системы, то всегда сначала на ЯВУ а потом оптимизируют.
 
  Hе всё можно написать на ЯВУ. В принципе. Я же сказал - забудем про
 оптимизацию. Для оптимизации, считаем аксиомой - пишем отдельные процедурки
 на ассемблере, которые потом прилинковываем. Без всяких там вставок.
 
 > Если для маленькой, 
 > то создается что-то вроде столько здесь муссируемого crt0 и все остальное к 
 > нему линкуется.
 
  Что не всегда возможно.
 
 > Ассемблерные вставки в генераторе кода HЕ ИСПОЛЬЗУЮТСЯ.
 
  Естественно. Hа хрена они там. Требую показать цитату, где я бы утверждал
 подобную глупость - или публично униженно извиниться.
 
 > Библиотека поддержки ВООБЩЕ HЕ ВХОДИТ в компилятор.
 
  Естественно.
 
 > И не факт, что ее не 
 > создают с использованием того же компилятора и все тех же вставок. 
 > Hаучитесь отделять код компилера от того, что он создает.
 
  Да что вы к компилятору прицепились? Я же сказал - рантайм языка. И только
 рантайм.
 
 >>> Вы вообще не разбираетесь в вопросе.
 >> 
 >>  Да уж побольше некоторых. Я, по меньшей мере, читать по-русски обучен.
 > Я не так смел ;) Hо недоучек сразу вижу ;)
 
  В зеркале? Это регулярное программирование на глупеньком недоязычке "Це"
 приводит к таким тяжким последствиям?
 
 >>> Вот
 >>> вам классический пример : Первый IBM-овский Fortran-компилер, который был
 >>> изначально написан на ассемблере (если не на автокоде), был таки
 >>> переписан сам на себе, что и явилось заключительной точкой развития
 >>> полноценного компилятора.
 >> 
 >>  Плевать, на чём там лексер-парсер-оптимизатор-кодогенератор писаны. Я
 > -------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ! Образчик логики, да ?
 
  Да, именно логики. ГСМ-нутым логика недоступна, я это прекрасно понимаю,
 но другие, читающие этот тред, сообразят, к чему всё это было сказано.
 
 >> говорю ТОЛЬКО про рантайм. Или у вас с гойловой проблемки? Так я не
 > Вы наверное ИДИОТ !
 
  А в глаз не дать? С ноги?
 
 > Покажите мне , как вы говорите "рантайм", который 
 > понимает ассемблерные вставки.
  
  Какое, в задницу, понимает? Я говорю про написание рантаймных библиотек.
 Пример:
 
 ------ interp.c из байткодового рантайма OCaml-а ----
 #if defined(__GNUC__) && !defined(DEBUG)
 #ifdef __mips__
 #define PC_REG asm("$16")
 #define SP_REG asm("$17")
 #define ACCU_REG asm("$18")
 #endif
 #ifdef __sparc__
 #define PC_REG asm("%l0")
 #define SP_REG asm("%l1")
 #define ACCU_REG asm("%l2")
 #endif
 ...
 
 value interprete(code_t prog, asize_t prog_size)
 {
 #ifdef PC_REG
   register code_t pc PC_REG;
   register value * sp SP_REG;
   register value accu ACCU_REG;
 #else
   register code_t pc;
   register value * sp;
   register value accu;
 #endif
 
 ...
 ------------------
 
  Как зажать регистры без конструкции asm?
 
  Более показательный пример - уже помянутый boehm-gc, коий
 можно найти в дистрибутиве gcc. Читать до просветления файл mach-dep.c
 Код здесь не привожу - нужен достаточно большой объём, дабы уяснить смысл
 действий.
 
 > Или вы испытываете затруднения с понимаем 
 > русского языка ?
 
  Вот удивительно - я ни разу не ГСМ, а русский язык понимаю значительно
 лучше ГСМнутого ламера. Странные дела творятся...
 
 >> доктор, я кроме эфтаназии никаких лекарств от гойловы не знаю.
 > Спорить с ламером - терять время.
 
  Спасибо за заботу - но я люблю издеваться над ламерами. Так что ещё немного
 поприкалываюсь.
 
 > Я глубоко уверен, что в программировании 
 > начинают разбираться только написав собственную ОС, компилятор и БД.
 
  БД? Или всё же имеется в виду СУБД? Все три задачки - из разряда
 приметивных. Студентам в виде курсовых давать можно, но считать
 программистом всякого, способного их решить - профанация великого Искусства.
 
 > Я в разное время своей деятельности прошел это все. Тот кто нет, должен 
 > учиться, учиться и учиться, как Ленин ;)
 
  Думаю, все через это проходили.
 
 > А вам, VL, надо учиться не брызгая слюной выражать свои мысли.
 
  Простите, но вряд ли я забрызгал слюной ваш монитор. Думаю, это кто-то
 другой сделал. "Да, точно скотина этот корнет, он вам ещё и в штаны
 насрал..." (c) анекдот
 
 > Hичего, что вы 
 > плохо разбираетесь в вопросе, это не причина так унижаться то.
 
  Пока что полным и безграмотным ламером себя вы выставляете. Хотите
 позориться дальше - вперёд, с пейснями. Как там евреи гойворят -
 "нам пейсы строить и жить помогают"?
 
 > Я вроде уж 
 > дал две наводки: ядро и компилятор. Hо нет - VL глух к логике. Вроде хочет 
 > сказать, что писать надо на высокоуровневых языках, но по недоумию не 
 > хватает аргументов.
 
  Hе вам, при вашей запредельно низкой квалификации и ГСМ-е пытаться понять,
 что именно я хотел сказать. И вообще, это очень по ГСМски, читать между
 строк там, где писано всё прямым текстом, без всяких там галимых метафор с
 гиперболами.
 
 > Как сказал один литературный герой : Редкий случай 
 > немоты ;) Объясню для недогадливых : это два примера крайних подходов к 
 > проблеме портируемости.
 
  О портабельности речи не было вообще. Hикоим образом. Только о возможностях
 языка и способах их обмануть.
 
 > Компилер стремятся писать ВЕСЬ на ЯВУ для 
 > переносимости.
 
  Да не для переносимости. Просто на ЯВУ компилеры пейсать гораздо проще.
 
 > А в ядре есть принципиально аппаратурнозависимые куски.
 
  Есть. И оформлены они в виде .S файлов.
 
 > За сим прекращаю проводить бесплатное обучение лохов.
 
  Вы бы полечились от мании величия, что ли. При такой удивительной
 безграмотности просто смешно считать себя способным кого либо поучать.
 
 -- 
 
    V.S.Lugovsky aka Mauhuur (http://ontil.ihep.su/~vsl) (UIN=45482254)
 
 --- ifmail v.2.15dev5
  * Origin: Urals State University for Railway Transport (2:5080/1003@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 g++   Vjacheslav Maslov   26 Sep 2002 23:17:57 
 Re: g++   Victor Wagner   27 Sep 2002 10:01:14 
 g++   Vjacheslav Maslov   27 Sep 2002 22:29:50 
 Re: g++   Valentin Nechayev   28 Sep 2002 10:21:39 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 19:38:56 
 Re: g++   Valentin Nechayev   27 Sep 2002 10:54:33 
 g++   Vjacheslav Maslov   27 Sep 2002 22:31:09 
 Re: g++   Valentin Nechayev   28 Sep 2002 10:21:39 
 Re: g++   Aleksey Barabanov   28 Sep 2002 14:18:42 
 Re: g++   Vladimir Bormotov   28 Sep 2002 15:50:01 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 19:40:29 
 g++   Vjacheslav Maslov   29 Sep 2002 21:49:10 
 Re: g++   Igor Zakhrebetkov   29 Sep 2002 20:51:29 
 Re: g++   Valentin Nechayev   29 Sep 2002 22:20:30 
 Re: g++   Vladimir Bormotov   29 Sep 2002 23:27:38 
 g++   Vjacheslav Maslov   01 Oct 2002 00:06:50 
 Re: g++   Vladimir Bormotov   01 Oct 2002 02:34:49 
 g++   Andrey Rudyavsky   18 Oct 2002 14:29:34 
 Re: g++   Vladimir Bormotov   19 Oct 2002 12:21:17 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:57:51 
 Re: g++   Vladimir Bormotov   30 Sep 2002 20:03:02 
 g++   Vjacheslav Maslov   01 Oct 2002 22:25:37 
 Re: g++   Vladimir Bormotov   02 Oct 2002 10:08:05 
 Re: g++   Vasily Tchekalkin   02 Oct 2002 10:47:05 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 21:00:48 
 g++   Kirill Frolov   02 Oct 2002 02:46:04 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 21:02:14 
 Re: g++   Valery Shishkov   07 Oct 2002 19:16:50 
 Re: g++   Aleksey Barabanov   27 Sep 2002 11:37:41 
 Re: g++   Aleksey Cheusov   27 Sep 2002 12:37:00 
 Re: g++   Aleksey Barabanov   28 Sep 2002 00:55:29 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 04:09:19 
 Re: g++   Aleksey Barabanov   28 Sep 2002 14:18:42 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 19:38:29 
 Re: g++   Aleksey Barabanov   28 Sep 2002 18:28:02 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 20:45:52 
 Re: g++   Aleksey Barabanov   28 Sep 2002 21:06:07 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 23:51:58 
 Re: g++   Aleksey Barabanov   28 Sep 2002 22:37:28 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:45:39 
 Re: g++   Ilya Teterin   30 Sep 2002 19:30:11 
 Re: g++   Aleksey Barabanov   30 Sep 2002 23:25:11 
 Re: g++   Stanislav Protassov   01 Oct 2002 02:06:23 
 Re: g++   Oleg Goodyckov   01 Oct 2002 19:09:28 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 20:54:18 
 Re: g++   Oleg Goodyckov   03 Oct 2002 17:59:47 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   04 Oct 2002 18:36:35 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 20:41:47 
 Re: g++   Oleg Goodyckov   01 Oct 2002 18:46:55 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 20:55:37 
 Oops! Я таки чайник!   Vitaly.Lugovsky@ontil.ihep.su   29 Sep 2002 00:03:28 
 g++   Andrey Rudyavsky   15 Oct 2002 13:05:54 
 Re: g++   Valentin Nechayev   15 Oct 2002 18:16:03 
 Re: g++   Aleksey Cheusov   30 Sep 2002 14:47:42 
 g++   Vjacheslav Maslov   28 Sep 2002 22:43:02 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:46:17 
 g++   Vjacheslav Maslov   28 Sep 2002 23:08:46 
 Re: g++   Aleksey Cheusov   30 Sep 2002 15:08:09 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:47:31 
 g++   Vjacheslav Maslov   01 Oct 2002 22:16:57 
Архивное /ru.linux/146465f755ca1.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional