СИ-код. Увеличение безопасности кода.

Тема в разделе "WASM.HEAP", создана пользователем NoName, 2 мар 2011.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    qqwe
    имхо джое имел ввиду неучтенный вариант - когда результат сложения искажался из-за переполнения, а проектировщики ошибочно полагали что размера регистра хватит на все случаи

    у меня такое в жизни постоянно - сливаю воду из чайника в кувшин для сына и думаю каждый раз а останется ли мне на кружечку чаю
     
  2. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Rockphorr
    Ну так понятное дело надо проверки делать, для безопасного кода то.
    Или юзать классы больших чисел. Тем более что грамотно написанный при числах не выходящих за разрядность будет работать лишь немного медленней ( как раз из-за проверок).
     
  3. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Rockphorr
    ну так а кто вас заставляет пользоваться мастерами? или студийным иде? или вообще микрософтовским компилером?
    например, в ов вы можете описать свой собственный способ обработки параметров-возвратов. добавив хотимые вами манипуляции со стеком или проверку типов.
    линкер также позволяет много интересных вещей. итд.

    был разговор, что и в дельфе вцл не обязателен и люди его выкидывают.

    мастера сделаны для новичков. вместо того чтоб 100000 раз объяснять как пишется main() и прочие примитивы и разрешать простейшие ошибки, мастер просто генерирует основу.

    -------
    но вопрос который поднят в теме не для новичка. хотя, может я его понял неправильно?
    но в любом случае, обижаться на С за отсутствие автозащиты от дураков - все равно что обижаться на микроскоп за то, что он плохо гвозди забивает. не для того инструмент.
     
  4. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    qqwe
    я пытаюсь сказать почти тоже самое
    мастерами пользоваться никто не заставляет - ими пользуются исключительно ради экономии времени, единственное, про что не надо забывать - что в этих случаях "платиться" за сэкономленное время
    ----
    к микроскопу можно ручку как у молотка прикрутить и тяжелую ударную часть да и линзы, зеркала и стекла снять
     
  5. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    spa
    дык и я о том. С не для этого. паскаль его легко перелюнет. но я б таки, если нет истории, стартовал с оберона. он красивее. начальная среда - блэк бокс. ру описание. туторы. ошибки выводятся прямо в тексте программы

    Rockphorr
    переполнение! флаг cf! блин, люди, вы с асмом дело имели? это один из самых используемых флагов! переполнения происходят очень часто! это рядовая операция! какое нафиг искажение числа изза переполнения?

    ну а если 32 байта, то тут больше на ошибку во всем алгосе похоже. ну, если только в этих регистрах не хранилось что нибудь вроде текущего количества миллиметров от солнца до урана или количества атомов во вселенной (числа не проверял, просто намекаю какого порядка должно быть число чтоб переполнить счетчик в 32 байта при правильном алгосе)

    ну и кроме того, совсем маленький вопрос - откуда такая уверенность, что именно "изза переполнения"?
    шерлок хломс 1 в cf в лупу разглядел в огрызке управляющего проца? и та ему добровольно созналась в преступлении?
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    spa
    то что это понятное дело - одно, а то что про это понятное можно забыть в угаре кодинга это другое, а если компилятор это понятное за кодера в любом случае допишет - это третье
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Rockphorr
    воот. а для еще большей экономии времени можно не пользоваться ни мастерами, ни визуал студией (кроме сорцового отладчика). можно привыкнуть писать так.
    (ну и как иде си неплохо смотрится.)
     
  8. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    qqwe
    не будем зацикливаться на флаге

    имхо все поняли что дело в просчете думали что воды будет стакан и кувшина на 5 стаканов полюбому хватит а в жизни оказался целый чайник воды стаканов так на 15
     
  9. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    снобизм, он у каждого он свой :) - я пишу под дос на масме, но вот новый акелпад с возможностью наполнить его моими клише я оценил
     
  10. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Rockphorr
    не знаю как вы, а я вижу чтото очень похожее на макаронины.
    и никаких чайников и стаканов.
    какие основания настолько уверенно обвинять некое место в разбитом компьютере? в регистрах!
    как вы себе это представляете? вот тут был пост где чел говорил, что нот у него не пускается. совета спрашивал. это подобная ситуация. вы можете уверенно сказать или опровергнуть что это изза переполнения регистра?
    кроме того такаяже программа стоит на всех самолетах этой серии. и ничего, летают несмотря на мильярды переполнений.

    не надо спешить искать стаканы. лучше взять вилку, очистить уши и немного думать перед тем как верить тому что вам лепят. пусть даже и компетентным тоном и с ответственным видом.
     
  11. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Rockphorr
    попробуйте сперва.
     
  12. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    чтож за регистр такой ???? и нет в цитате джое про них упоминания
     
  13. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Например, rand
    http://ru.wikipedia.org/wiki/Чистота_функции
    Прошу прощения я ошибся, 32 бита был какой то счетчик миллисекунд и винда пергружалась.
     
  14. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Не понимаю проблемы. Напишите тулзу, которая сделает релокацию секций PE/LX/ELF-файла по нужным адресам. То есть, константные данные и код закинет в ROM, а глобальные переменные и прочую лабуду - в RAM. Задача на один вечер. Зато пользоваться сможете почти всем, что предоставляет язык. Вот, блин, любят проблемы придумывать и героически их решать.
     
  15. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    J0E
    было такое. сообщали, что выни 9х серии завязаны на счетчик тиков (tsc 64 бита) и через месяц или полтора непрерывной работы самостоятельно перегружались.
    на это могу сказать только, что добиться от выни 9х месяца или полтора непрерывной работы можно было только в лабораторных условиях при благоприятном расположении звезд над соломоновыми островами.
    но даже и после падения или перезагрузки через эти полтора месяца переполнение будет только одной из возможных причин.
    (неужели тот самолет летал без посадки целый месяц?)

    в любом случае, эта проблема не С, не алгосов и даже не программы вообще. это проблема того осла который выбрал вынь 9х как основу для критичной софтины. не говорила ему, видать, мама, что дешево хорошо не бывает