|
На чем для первых компов спектрума и атари игры писали? | ☑ | ||
---|---|---|---|---|
0
Глупый ответ
03.01.19
✎
11:43
|
У меня в детстве был. Программировал на нем на бейсике. Говорят был еще лазер бейсик и всякие турбоускорители. Так я так и не понял тогда, на ассемблере игры писали или на лазербесике, а потом ускоряли? Если на ассемблере, то на "add, push" написать игру, пусть и простую, а потом еще и числовые коды ввести в десятичном формате, это не реально кмк. Тетрис вроде как сразу на паскале написали.
|
|||
262
bolobol
09.01.19
✎
13:02
|
Эх, понастальгировал по спектруму, по первому написанному почти что компилятору из русского языка в бейсик)))))
Надо было тогда уже 1С начинать писать, но меня всё в ракетостроение какое-то пихали... |
|||
263
NorthWind
09.01.19
✎
13:05
|
(261) имеется в виду, что в стандартных библиотеках С вплоть до поздних девяностых отсутствовали механизмы, которые позволяли бы проверять корректность данных, передаваемых по указателю/ссылке в подпрограммы. Особенно это касалось строк и функций с переменным числом параметров. Это привело к созданию большого количества уязвимостей, которые эксплуатировались путем переполнения буферов и срыва стеков.
|
|||
264
Провинциальный 1сник
09.01.19
✎
13:10
|
(261) Ну пример - тот же scanf, когда забытый амперсанд приводит к тому, что происходит запись черт знает куда в память.
|
|||
265
Mikeware
09.01.19
✎
13:14
|
(262) хы. мы на втором курсе под впечатлением от военной кафедры придумали язык "Вояка", даже наисали транслятор. Начало - "Шагом марш", конец- "приставить ногу", цикл- "лечь...встать", имена переменных - воинские звания. имена меток - названия подразделений и частей. единственно, что не смогли сдедать по-военному - условие. аналогов "если" в военном языке не предусмотрено :-)
|
|||
266
Провинциальный 1сник
09.01.19
✎
13:15
|
+(261) Речь не о том, как хранятся данные, а о том, что у прикладного программиста не должно быть возможности влезать в произвольные области памяти, за пределами явно выделенной памяти прикладных объектов и в обход их методов. Разумеется, драйвера и ядро системы надо писать на Си, поскольку там минимум кода и можно провести строгий аудит. А всё, что прикладное - на паскале или подобном строгом языке.
|
|||
267
Mikeware
09.01.19
✎
13:22
|
(266) блин... иногда грань между прикладным и неприкладным очень тонка... контроллер для стиральной машины - это прикладное или системное?
ну и все-таки - это "закон рычага" - приобретая защищенность, ты тратишься на статический и динамический контроль. и наоборот. во времена процессоров на 2 МГц и 32К памяти это было существенно. |
|||
268
bolobol
09.01.19
✎
13:51
|
(263) Наверное, чтобы понять написанное, надо разбираться в методах использования данных "уязвимостей". Пока я вижу только возможность переглючить собственную программу или поперезагружать однозадачное устройство.
|
|||
269
bolobol
09.01.19
✎
13:53
|
(264) Забытый "+", соединяющий строки запроса в 1С - выдаёт ошибку "Поле не обнаружено". Ну, так себе "критическая ошибка". Гадить себе в память программист может сколько угодно - быстрее из профессии удалится.
|
|||
270
Мелифаро
09.01.19
✎
13:56
|
(268) Выполнить произвольный код в незащищённой области памяти, например. Собсно, самое популярное.
|
|||
271
bolobol
09.01.19
✎
13:57
|
(266) Никто не запрещает сохранять данных об объёмах и местах данных, а вокруг каждого использования поставить кучу if-ов. Собственно, что и происходит, например, в языке 1С. Там и прямого доступа к памяти нет вовсе. Но производительность... где? А вот там же, где и возможность прямо обратиться к тому, с чем работаешь - нигде.
|
|||
272
bolobol
09.01.19
✎
13:58
|
(270) Выполнить произвольный код можно и без уязвимостей. тогда в чём уязвимость выполнения произвольного кода?
|
|||
273
bolobol
09.01.19
✎
14:00
|
(270) Какую уязвимость используют так популярные сегодня кодировщики-вымогательщики?
|
|||
274
Garikk
09.01.19
✎
14:05
|
(272) ну что вы в самом деле, вставляешь скомпилированный код например в поле и именем пользователя, а потом через уязвимость передаешь ему управление...недостаточно? самый популярный баг в сишных программах
|
|||
275
Garikk
09.01.19
✎
14:06
|
или ещё...в переменную размером 255 байт засовываешь 5кб кода...и его хвост попадает в какуюнить ф-цию
|
|||
276
Garikk
09.01.19
✎
14:07
|
за последние годы кучу костылей уже придумали чтобы этого избегать, даже в процессор флаг NX (вроде) добавили дополнительный.... но подавляющая часть багов всеравно одна и таже
|
|||
277
bolobol
09.01.19
✎
14:14
|
(274) Много слышал об этом, но ровным счётом даже представить не могу причём здесь имя пользователя, где взять скомпилированный код, как передать управление коду в имени пользователя, равно как и вставить его, я полагаю, программно.
|
|||
278
bolobol
09.01.19
✎
14:15
|
(275) Ну и перестанет выполняться функция - вылетит с какой-то нелепой ошибкой. Ты поломал свою программу - надо тестировать то что делаешь. Уязвимость тут причем?
|
|||
279
bolobol
09.01.19
✎
14:16
|
(276) В процессор добавили флаг, исправляющий кривые руки программистов? Где об этом почитать можно?
|
|||
280
bolobol
09.01.19
✎
14:20
|
Ко всему прочему: казалось бы, а причём тут Си? Си почтишто напрямки в АСМ превращается, может, проблема в АСМ-е? А АСМ - это просто байты, что процессор читает/выполняет так или иначе. Какие уязвимости Си здесь - невдомёк мне.
|
|||
281
Mikeware
09.01.19
✎
14:28
|
(280) притом, что си позволяет делать почти что угодно, а паскаль многое контролируе на этапе компиляции, и многое - на этапе выполнения.
Это инструмент. как нож. можно сделать "безопасный нож", который будет жестко закреплен в станине, ходить только вперед-назад на 5 сантиметров, ну и вниз-вверх. не зарежешь никого, порезаться сложно - но чтоб что-нибудь разрезать - нужно сделать кучу телодвижений. а есть обычный нож - им разрежешь почти все почти хоть где - но можешь и себя порезать, и других покалечить |
|||
282
bolobol
09.01.19
✎
14:37
|
(281) А АСМ позволяет делать всё без исключения. Давайте писать под уязвимости на АСМ-е!, делов-то.
|
|||
283
Garikk
09.01.19
✎
14:38
|
(277) ну если вы не знаете где взять скомпилированный код, как вы это понять хотите?
вот например уязвимость "SQL-Инъекция" знаете как работает? вот с программами точно также, только вместо SQL там машинные коды (278) в том то и прикол что если программа не вылетает, то значит данные кудато записались не туда...например есть форма где вы вводите имя и пароль...и вот вы пишите в имч пользователя не 255 символов...а 500...причем эти лишнии 255 попадают в область памяти куда смотрит кропка Ok... а вы туда отправляете программу которая rm -rf / делает вот вам и баг |
|||
284
Garikk
09.01.19
✎
14:39
|
(279) он не исправляет руки, он крешит программу принудительно при таких кейсах как я в 283 описал
|
|||
285
Провинциальный 1сник
09.01.19
✎
14:39
|
(278) Это очень хорошо если вылетит. А если тихо испортит область данных в какой-то другой переменной своей же программы, из-за чего может возникнуть непонятный глюк когда-нибудь?
|
|||
286
Mikeware
09.01.19
✎
14:42
|
(282) ну вообще-то многие так и делают. но многие уязвимости есть и у более высокоуровневых языков и систем
|
|||
287
Mikeware
09.01.19
✎
14:45
|
(285) причем иногда может возникнуть, а иногда и нет.
впрочем, ассемблер и си заставляют писать обдуманно. приучают осмысленно ходить по минному полю собираь картошку :-) кто умеет - может пройти и не умереть с голоду. кто не умеет - как повезет. можно, конечно, и на танке по минному полю - но вот соляра нужна, и картошки может не остаться. хотя у такна есть другие преимущества (напиример, картошку не на себе тащить) |
|||
288
Провинциальный 1сник
09.01.19
✎
15:08
|
(287) Но ассемблер хотя бы не дает расслабиться, требуя глубоко разбираться в адресах областях памяти. А Си дает ложное ощущение простоты ввиду достаточно низкого порога вхождения, не сильно сложнее паскаля - но намного опаснее.
|
|||
289
bolobol
09.01.19
✎
15:20
|
(283) "SQL-Инъекция" - это какое-то расширение сознания. С принимающей стороны не должно быть хоть сколько-то простого анализа на соответствие строкового параметра правилам строки. Тупая замена строкового параметра дополнением текста запроса - это подмена понятий. Либо так и было задумано, тогда это не атака, а типовой функционал.
|
|||
290
Garikk
09.01.19
✎
15:23
|
||||
291
Garikk
09.01.19
✎
15:24
|
кучу cms движков взломали таким способом, и до сих пор такое происходит
|
|||
292
bolobol
09.01.19
✎
15:26
|
(284) Не пойму, вы пихаете данные в поле логина сторонней программы и перетираете в сторонней программе код? Так сие проблемы операционной системы, которая позволяет область памяти сторонней программы подменить. Или баг самой программы, которая принимает динамической длины строку в константный массив символов (а других вариантов я здесь не вижу, хоть это и не значит, что их нет), где динамическая строка больше длины константного массива, ровно за которым находится код функции ОК. Ну, так облажаться можно и в вычислениях 3D, недаром MORROWIND падает при любом чихе, без всяких взломщиков, прошу заметить. Си тут причём?
|
|||
293
Mikeware
09.01.19
✎
15:26
|
(288) ну мало ли кто кому какие ощущения даёт...
|
|||
294
bolobol
09.01.19
✎
15:26
|
Это: (287) - всем советую почитать. Не умеем руками - берём танк.
|
|||
295
Mikeware
09.01.19
✎
15:30
|
(292) это баг программы. по-хорошему, программа должна контролировать входные параметры. это должно быть возложено либо на программиста, либо на рантайм. в случае си - рантайма как такового нет, а программист склонен просохатить данные проверки. причем порой даже на тестах - потому как программист знает "что должно быть введено".
паскаль проверяет и ограничивает в рантайме. но это занимает ресурсы. "правило рычага" |
|||
296
Mikeware
09.01.19
✎
15:31
|
(294) беда в том, что всем стало проще брать танк. в результате на танке ездят по дорогам на другой конец города в магазин за килограммом картошки.
|
|||
297
bolobol
09.01.19
✎
15:32
|
(291) (290) Это использование типового функционала. Повторюсь, если строковый параметр воспринимается как дополнение строки запроса - это типовой функционал. Если есть контроль, что строковый параметр удовлетворяет ограничениям строки - этого не произойдёт, значит - нет подобного типового функционала. Всё настолько просто, что непонятно даже, о чём речь.
|
|||
298
Garikk
09.01.19
✎
15:32
|
(292) <Си тут причём?>
нет встроенного контроля размеров массива, по этому почти все подобные баги в программах написанных на Си <Так сие проблемы операционной системы> Историческое наследие и совместимость, сейчас очень многое уже сделано чтобы этого избежать, в итоге отваливается старый софт и вопят пользователи... во времена XP включение BX бита зачастую приводило к падению большинства известных программ <Не пойму, вы пихаете данные в поле логина сторонней программы и перетираете в сторонней программе код?> Именно так, вы переходите на сайт с котиками, а браузер через такой баг у вас на компе запускает format c: как хорошо почитайте CVE по браузерам и ОС..там постоянно "можно выполнить произвольный код", "выход за границы песочницы" |
|||
299
Garikk
09.01.19
✎
15:32
|
(298) *NX бита конечно
|
|||
300
Mikeware
09.01.19
✎
15:33
|
+(296) и причем каждый норовит взять танк помощнее, чтоб оттолкнуть /обогнать других. хотя быстрее (и порой безопасней и дешевле) пешком дойти...
|
|||
301
Dmitry1c
09.01.19
✎
15:33
|
Мой геймдев начался и закончился на создании карт в Warcraft 3 в софтине World Editor, которая была в комплекте с вариком.
Эх... |
|||
302
Garikk
09.01.19
✎
15:34
|
(297) "это типовой функционал"
drop database вместо сохранения номера авто это типовой функционал? давайте расскажите что у топора, которым когото в голову тюкнули, это тоже типовой функционал |
|||
303
Mikeware
09.01.19
✎
15:35
|
(302) у топора - абсолютно типовой.
я уже пример про "безопасный нож" приводил |
|||
304
Garikk
09.01.19
✎
15:36
|
(303) да, топор неудачно.. автомобиль на котором в толпу въехали, вот например очень явно... и даже NX биты есть в виде бетонных блоков и стобиков
|
|||
305
Garikk
09.01.19
✎
15:37
|
(304) только тут разница в том что автомобилем не вы управляете, а вася какойто ...а вы сидите за рулем
|
|||
306
Mikeware
09.01.19
✎
15:41
|
(304) да точно так же.
|
|||
307
bolobol
09.01.19
✎
15:41
|
(305) Так и есть - программу управления двигателем, до кучи ещё и программу курсовой устойчивости - написали васи. И мы им доверяем, но не васям, а тестерам. Программист не в состоянии протестировать себя. Недаром, что один из методов проверки качества тестирования тестировщиком - это когда программист добавляет 0,5% вредоносного, откровенно ошибочного или ещё как-то кода в программу и тестер должен всё это выявить. Процент ненайденного из известного несколько намекает о количестве неизвестного ненайденного.
Вот в примерах с логином и SQL - не заметить подобное - ну слепым нужно быть. |
|||
308
Garikk
09.01.19
✎
15:44
|
(307) <не заметить подобное - ну слепым нужно быть.>
с логином это самое явное конечно, я самый простой пример привел. есть более сложные примеры, когда даже через ORM и валидаторы впихивают кривые запросы |
|||
309
Garikk
09.01.19
✎
15:45
|
есть баги в библиотеках и фреймворках.. вон как в openssl нашли баг, весь софт вдоль и поперек протестированный оказался подверженным
|
|||
310
Mikeware
09.01.19
✎
15:51
|
(307) многие разработчики исходят из "презумпции добросовестности". но увы, в нашей жизни много всякого нехорошего... есть некий "прогресс", есть "плата за прогресс".
жизнь усложняется. сложность несет риски, которые устраняются чаще всего еще большим усложнением. коорое в свою очередь несет другие риски. |
|||
311
bolobol
09.01.19
✎
16:16
|
(309) Эт хороший пример. Только, опять же, причём здесь Си? Хотели быстро, не поставили проверки в ключевых местах, а стоимость проверки при каждом запуске, при каждом обращении - это не сравнится с однократной проверкой при разработке, ну и не проверили при разработке - нормальная ситуация, ошибку всё-таки нашли.
|
|||
312
Garikk
09.01.19
✎
16:40
|
(311) еще раз, си при том что позволяет разработчикам писать чертовщину
Не работает фактор "а вы пишите код правильно, с проверками"...не-ра-бо-та-ет, и тому примером огромное количество эксплойтов для программ написанных именно на Си, не на яве, не на питоне, а именно на Си |
|||
313
bolobol
09.01.19
✎
16:53
|
(312) Ещё один адепт "увеличивайте производительность, ваше железо не справляется с нашей программой"
|
|||
314
bolobol
09.01.19
✎
16:59
|
(312) Кстати, может программы на яве, на питоне нафик никому не сдались?
|
|||
315
Garikk
09.01.19
✎
17:07
|
(314) да чето незаметно, я работал в конторе в которой весь софт с Си перепелили на Яву
Да и на питоне уже пишут очень много чего |
|||
316
Garikk
09.01.19
✎
17:07
|
(315) *контора немаленькая по Российским меркам, из банковской сферы
|
|||
317
Garikk
09.01.19
✎
17:08
|
(313) почему адепт? от меня это не зависит, а отставать от реалий нельзя
|
|||
318
Garikk
09.01.19
✎
17:09
|
дело не только в скорости работы софта, но и в скорости разработки и доступности программистов. сейчас найти профи прога на яве проще и быстрее чем Сишника который пишет код без эксплойтов
|
|||
319
Garikk
09.01.19
✎
17:10
|
(или вы еще до сих пор считаете что индустрия ориентируется на домашних юзеров? бизнесу проще два сервера купить чем софт месяцами оттачивать, это дешевле и сразу бабло принесет)
|
|||
320
Глупый ответ
21.01.19
✎
19:11
|
Так чисто для справки, я тут книгу Код Петцольда прочитал, ну так там выяснилось, что тот самый zilog Z80 он оказывается был полностью совместимым с IBM 8080, так еще и круче его.
"Инициатором основания новой компании был Федерико Фаджин, главный разработчик процессора Intel 4004 и Intel 8080, его основной идеей было создание компании, целиком посвящённой разработке «камней». К новому проекту присоединился интеловский менеджер Ральф Унгерманн (англ. Ralph Ungermann) и японский инженер Масатоши Шима (англ. Masatoshi Shima) — также разработчик Intel 4004." Но Потом, что то пошло не так и IBM он везде, а зилог вообще не знают кто это такие. Так, что я пожалуй заберу свои слова назад, что типа на спектруме ничего крутого для спектрума сделать было нельзя. Наверно на 128 килобайтной машине, для 48 килобайтной вполне можно было. Если чуваки были на столько упороты, что писали на ассемблере, то им пофиг было для каких машин писать и на чем. |
|||
321
Глупый ответ
21.01.19
✎
19:11
|
https://ru.wikipedia.org/wiki/Zilog собственно ссылка на вики статью про зилог.
|
|||
322
Сергиус
21.01.19
✎
22:28
|
[В спектруме была АСМ среда разработки?]
Да, обычный текстовый редактор) |
|||
323
Глупый ответ
21.01.19
✎
23:07
|
Получается, что любой чувак паяющий спектрум на базе процессора Z80, мог точно так же спаять себе и IBM PC и даже лучше. Но почему, то никто так и не нашел дешевого способа это сделать.
|
|||
324
Nyoko
21.01.19
✎
23:20
|
https://www.youtube.com/watch?v=V0EfycbDhiw
Sinclair ZX Spectrum Loading - Jetpac головку подкручивали, чистили. Ждали.. играли ))) эххх |
|||
325
Глупый ответ
21.01.19
✎
23:31
|
Кто нибудь помнит как игра называется, там ходилка слева на права, врагов можно "нейтрализовывать" разными способами, один из способов раскручиваешь и об стену.
|
|||
326
Глупый ответ
21.01.19
✎
23:34
|
*слева направо
|
|||
327
Mikeware
22.01.19
✎
09:47
|
(325) "домики деревяные набигают солдаты дворца и злодеи."©?
|
|||
328
Провинциальный 1сник
22.01.19
✎
10:02
|
Писать на ассемблере легко и приятно. Только долго.
|
|||
329
Глупый ответ
22.01.19
✎
10:09
|
(327) еще корованы грабят. Ну если только у меня в голове это отложилось.
|
|||
330
Глупый ответ
22.01.19
✎
10:11
|
(328) Как и рвать гланды через ...опу.
|
|||
331
Mikeware
22.01.19
✎
10:12
|
(330) богатый у вас медицинский опыт...
|
|||
332
Глупый ответ
22.01.19
✎
10:27
|
(331) Я честно говоря про ассемблер знаю эээ... как бы вообще ничего. Но из той инфы, что я почерпнул даже вскользь. Писать на языке на котором простые математические действия типа поделить два числа друг на друга, сложить любое большое число или даже просто проделать операции с (.) это целые пляски с бубном. Мягко нужно очень много терпения и любви к собственному делу. Респект конечно этим чувакам, но сейчас бы я на такое бы не согласился ни за какие деньги.
|
|||
333
Глупый ответ
22.01.19
✎
10:27
|
*Мягко говоря, нужно
|
|||
334
Михаил Иванович
22.01.19
✎
11:01
|
(332) Если тебе как буху нужна кнопка "сделать фсё", зачем в программеры подался?
|
|||
335
Глупый ответ
22.01.19
✎
11:05
|
(334) деньги и власть. Хочу управлять миром. :)
|
|||
336
Mikeware
22.01.19
✎
11:18
|
(332) ну во-первых, в те времена другие инструменты были хуже.
во-вторых, при достаточном навыке пишется на ассемблере довольно быстро. просто мозги плохо переключаются между ЯВУ и ассемблерами. подход разный. Но один хрен, основное время занимает вопрос "как написать". а сама писанина - единицы процентов времени в третьих, на ассемблере вполне нормально нарабатываются библиотеки, да и общая культура программирования. Например, то же стркутурное программирование. |
|||
337
Mikeware
22.01.19
✎
11:18
|
||||
338
Глупый ответ
22.01.19
✎
11:23
|
(337) отправь Билу Гейтцу по почте.
|
|||
339
Сияющий в темноте
22.01.19
✎
16:21
|
Чем вам Си не угодил?
в паскале точно также есть ссылки как указатели в си да,с ними меньше свободы,но нагадить в память можно. опять же,контроль массивов работает только если перехватывается получение элемента на вызов подпрограммы также,в некоторых процессорах есть аппаратный контроль размера массива,если идет обращение через дескриптор. в Си этого нет. Что касается запрета исполнения даных,то нужно напомнить,что некоторые программы используют встроенную компилляцию кода,а потом его выполнение,это дает очень большой прирост производительности. что же касается примера с именем пользователя,то во всех функциях получения строки из поля ввода передается размер буфера,так что сюрпризов быть не должно. в скуле,раньше запросы собирали на лету,и проверку строк никто не делал,сейчас же есть возможность вместо параметров написать их имена или знаки вопроса,а потом передать значения параметров-красиво,просто и без глюков. хотя,Си вещь веселая,недавно на винде в программе отключил генерацию исключений и записал данные в таблицу дескрипторов,и,надо сказать,никто даже не пукнул,программа все отработала. |
|||
340
Провинциальный 1сник
22.01.19
✎
16:42
|
(332) Когда пишешь на ассемблере - ты в уверенности относительно каждого бита в твоей программе. Когда пишешь на ЯВУ - компилятор это черный ящик, который может выдать непонятно что в зависимости от фаз луны.
|
|||
341
Провинциальный 1сник
22.01.19
✎
16:44
|
(339) "во всех функциях получения строки из поля ввода передается размер буфера"
Так уж и во всех? И в scanf тоже? |
|||
342
Глупый ответ
22.01.19
✎
17:49
|
(340) ну, компиляторы не лохи пишут. Они уже давно по оптимальней плохого кода на ассемблере работают.
|
|||
343
wt
22.01.19
✎
20:39
|
(323) это грустная для меня тема. В то время, помимо основной работы, делал пентагон128. В то время можно было собрать pc-xt. Плата от комп, кажется Орион назывался, продавалась. Купил, набил мксх, запустил. Только ради интереса. Т.к. на работе были ес1840-41, задач по xt не виделось, т.к. под синклер было более интересные. И вот с сегодняшней точки зрения, особенно после прочтения книг С.Джобса и его напарника, вижу что не хватило предпринимательской жилки. Хотя они сработали не на свои деньги поначалу, мы же не получали зарплат и вынуждены были выживать.
|
|||
344
Глупый ответ
22.01.19
✎
22:20
|
(343) какая коммерческая жила?
https://ru.wikipedia.org/wiki/Intel Бизнес-план компании, распечатанный Робертом Нойсом на печатной машинке, занимал одну страницу. Представив его финансисту, ранее помогавшему создать Fairchild, Intel получила стартовый кредит в $2,5 млн. Нам до таких показателей, никогда не дожить, даже в силу того, что баксы печатаются там. |
|||
345
Глупый ответ
22.01.19
✎
22:22
|
В 2.5 млн в 1970 году, по деньгам нашего времени это наверное 25 миллионов.
|
|||
346
Сияющий в темноте
22.01.19
✎
22:35
|
(342) scanf("%.256s",pStr);
просто,часто люди ленивы,и точку с числом не пишут,а лень Наказуема! |
|||
347
Провинциальный 1сник
23.01.19
✎
07:22
|
(346) Да для неленивых ассемблеры есть) ЧТД
|
|||
348
Dotoshin
23.01.19
✎
08:40
|
(0) >>написать игру, пусть и простую, а потом еще и числовые коды ввести в десятичном формате, это не реально кмк.
Чойта не реально? Для МК-52 например было вполне реально... |
|||
349
Dotoshin
23.01.19
✎
08:40
|
||||
350
Mikeware
23.01.19
✎
08:58
|
(340) ну не всегда. первые сишные компиляторы давали вполне предсказуемый код. А вот когда компиляторы стали оптимизирующими - тут уже появилась "черноящичность". Хотя опять же благодаря строгой теории, и большому объему памяти (относительно обычного внимания человека) компиляторы лучше оптимизируют..
|
|||
351
Глупый ответ
23.01.19
✎
09:32
|
(349) у меня был мк52, я на нем игры вводил. Но играми это было назвать сложно. Егог - самая крутая надпись!
|
|||
352
Jackman
23.01.19
✎
11:26
|
Зашел на маил.ру, а тут тоже про спектрум вспомнили:
https://games.mail.ru/pc/articles/feat/istorija_zx_spectrum_pervogo_massovogo_kompjutera_v_rossii/?from=informer |
|||
353
Глупый ответ
23.01.19
✎
12:05
|
(352) ну ничего удивительного, мисту читают. Своих же идей нет.
|
|||
354
Провинциальный 1сник
23.01.19
✎
15:10
|
(350) "Хотя опять же благодаря строгой теории, и большому объему памяти (относительно обычного внимания человека) компиляторы лучше оптимизируют.."
Ну вот предположим, что у нас есть оптимизирующий компилятор, которые эвристически проверяет быстродействие процессора на регистрах и на ОЗУ и в зависимости от этого выбирает некую стратегию для генерации кода. Но вот результат этой проверки может оказаться разным в зависимости именно от "фазы луны", то есть например от того, что еще запущено на компьютере вместе с компилятором или от состояния энергосбережения... |
|||
355
Сияющий в темноте
23.01.19
✎
15:29
|
это как раз про жава писалось,что она сама себя оптимизироваить может в зависимости от состояния виртуальной машины.
|
|||
356
Mikeware
23.01.19
✎
16:14
|
(354) причем тут "то, что запущено на компьютере вместе с компилятором"? компилятор может генерировать и оптимизировать код вообще для другой целевой системы.
|
|||
357
Провинциальный 1сник
24.01.19
✎
13:35
|
(356) Оптимизация без обратной связи получается. Она априори хуже.
|
|||
358
Mikeware
24.01.19
✎
13:51
|
(357) какая тебе нужна обратная связь?
Ты когда производную функции берешь - тебе обязательна синяя ручка? |
|||
359
Провинциальный 1сник
24.01.19
✎
14:00
|
(358) Обратная связь как адаптивность к системе. В своё время среди линуксовых фанатов было модно компилировать исходники непосредственно на той системе, на которой будет запускаться программа. Считалось, что это дает более оптимальный код.
|
|||
360
Mikeware
24.01.19
✎
14:02
|
(359) "фанатов","считалось","модно"...
почитай уж что-нибудь типа Книги Дракона... |
|||
361
Сияющий в темноте
24.01.19
✎
15:08
|
компилляцию ядра производили на той машине,где оно будет работать,чтобы более точно настроить и выкинуть то,что данным железом не поддерживается
для программ,не так существенно,но гарантия неизменности и открытости кода. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |