Хочу быть тостером, чтоб жарить сразу с двух сторон.
[-]
Добрый день.
Проблема:есть код программы на С++,с которым нужно разобраться в кратчашие сроки человеку без навыков программирования.Есть ли справочники просто по синтаксису,чтобы "пословно" код и переводить?Знаю,что вопрос глупый,но нужно просто в кротчайшие сроки.
Добрый день.
Проблема:есть код программы на С++,с которым нужно разобраться в кратчашие сроки человеку без навыков программирования.Есть ли справочники просто по синтаксису,чтобы "пословно" код и переводить?Знаю,что вопрос глупый,но нужно просто в кротчайшие сроки.
-
-
02.07.2010 в 15:35-
-
02.07.2010 в 15:36else pisch = True
Если Ололо = 1, тогда лололо =2, иначе пыщь - истина
-
-
02.07.2010 в 15:41-
-
02.07.2010 в 15:46Код-то можете показать? )
-
-
02.07.2010 в 15:53Смотря куда переводить. Компилятор Си, например, переводит текст на Си в исполняемый код. Если в ассемблере вы разбираетесь лучше — это может быть вариант.
-
-
02.07.2010 в 15:57что,неужели нет вариантов?
-
-
02.07.2010 в 16:05Справочники по синтаксису, конечно, есть, но они ничего не дадут, т.к. чтобы понять программу, нужно знать в первую очередь не синтаксис.
-
-
02.07.2010 в 17:28Для того чтобы разобраться в программе написанной на языке C++ (да в и в любом другом ЯП) надо не "пословно" каждое служебное слово в справочнике смотреть а иметь представление о том что такое программа, что такое алгоритм, каковы есть основные управляющие конструкции в программе и конечно писать самому программы. Для языка C++, нужно понимать ещё и что такое классы и что они умеют (и не только это). Для всех этих целей существуют учебники.
-
-
02.07.2010 в 21:42иметь представление о том что такое программа, что такое алгоритм, каковы есть основные управляющие конструкции в программе и конечно писать самому программы
да нет,с этим уже всё понятно.
ок,тогда посоветуйте пожалуйста хороший,просто учебник по срр
-
-
02.07.2010 в 22:54даже голые си, которые сами по себе просты как гвоздь без шляпки, могут основательно прогреть мозг, а уж плюсы, где одних паттернов более 9000, это вообще язык не для средних умов.
-
-
02.07.2010 в 23:16средних умов?
-
-
02.07.2010 в 23:29-
-
03.07.2010 в 09:59-
-
03.07.2010 в 12:55Могу привести пример немного не про Си, но тоже весёлый.
В ассемблере есть такая инструкция —
xor eax, eax.Если человек знает язык, то он сможет сказать, что здесь производится операция исключающего «или» над регистрами EAX и EAX, то есть над ним самим, результат которой будет записан в первый операнд, т.е. опять же в EAX.
Если человек имеет представление о булевой алгебре, то он сможет сказать, что при любом значении EAX такая операция даст результат 0, т.е. регистр обнулится.
Но вот для ответа на вопрос, для чего это может потребоваться и почему это лучше, чем
mov eax, 0(поместить значение 0 в регистр EAX), этих знаний не хватит.А на самом деле это просто пример оптимизации:
xor eax, eaxзанимает два байта, аmov eax, 0— пять байт.С другой стороны, то, как это описал ehlo_kitty, тоже перебор. Для того, что бы писать на C++ или ещё на чём угодно другом, никаких «паттернов» знать не нужно. Для понимания кода, в принципе, тоже. Необходимость появляется только при коллективной разработке. И то — смотря, что за команда.
-
-
03.07.2010 в 13:39-
-
03.07.2010 в 13:47-
-
03.07.2010 в 21:38Она может при определённой степени извращённости авторов означать что угодно и в голых сях. Дефайн никто не отменял. )
-
-
04.07.2010 в 11:20#define TRUE FALSE // счастливой отладки
голые си страшны не этим, там сразу же начинается адовая свистопляска с указателями (а иногда и goto) например
-
-
05.07.2010 в 10:46Ну... дефайн тру фолс это, по крайней мере, очевидно. )
Мне больше нравится что-то типа такого:
#define FOUR 2+2 // счастливой отладки при использовании без скобок
Насчёт указателей не вижу проблемы, например. Ну и с goto тоже. Вообще можно на любом языке написать так, что сам автор не разберётся, а работать будет в зависимости от фазы Луны. Если код достаточно качественный — всё не так плохо, имхо.
-
-
05.07.2010 в 11:03-
-
05.07.2010 в 11:51Если вернуться к сабжу, то я лично сомневаюсь, что [cookie whore] нужно было разбирать код апача, например.
Алсо, на тему извращений: __asm { }
-
-
05.07.2010 в 11:58хз, "не короткий" может означать как 10К так и 10М.
__asm { }
при чём тут ассемблер то? это не язык программирования, это просто мнемоническая запись инструкций процессора.
-
-
05.07.2010 в 12:25Ну то есть по вашему с указателями и с работой с памятью проблемы есть, а если работать ещё более напрямую, то это просто мнемоническая запись инструкций процессора и, видимо, никаких проблем. Можно ещё пофлудить на тему того, что в CISC эти инструкции изначально сделаны максимально человекопонятными и на реальных цпу не реализованы напрямую. Или на тему того, что некоторые мнемоники можно записать двумя разными инструкциями без потери логики работы. Это к тому, что язык, а что нет; не залезая в вики, где будет написано, что машинный код тоже язык.
хз, "не короткий" может означать как 10К так и 10М.
Я склоняюсь к первому варианту. Х.з., автору виднее.
-
-
05.07.2010 в 12:26така самоучитель никто хороший не знает?
-
-
05.07.2010 в 12:35-
-
05.07.2010 в 12:50Ок, договорились. )
[cookie whore]
Мне навскидку вспоминается один очень бородатый текстик. Это если совсем плохо с пониманием сути. С плюсами там всё сильно сложнее.
-
-
05.07.2010 в 12:55благодарю) но си++ нужен