Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Core 2 Quadro Q6600 2.4 GHz
Видео ASUS x1300
С выводом в комментарий: Завершено за 221079 ms
Если вместо комментария x++: Завершено за 16 ms
Что ж такое у меня?
Вот и объяснение - на встроенных видеокартах функции отрисовки экрана тормозят из-за отсутствия аппаратной ускорения.
>Видеокарта AGP Radeon 7000.
Зачем условная компиляция и зачем что-то вырубать, если есть функция IsTesting()?
Если же ВАМ распринтовка нужна будет и в тесте, Вам прийдется пробежаться по коду и поправить
если будет услованая, достаточно поправить в одном месте
если будет условная то код будет такой
----------------
// для компиляции под тест
#define PRINTX 1
#if PRINTX 1
Print( " "+x1+" "+x2);
#
т е в код компилируется Print
------------
в боевой версии
#define PRINTX 0
#if PRINTX = 1
#end if
т е в код ничего не компилируется
---
т е очевидно что в боевой версии вообще нет никакой проверки и следовательно код чище и быстрее
это примитивный пример, ведь условная компиляция может помочь не только в этом
----
конечно можно натыкать IsTesting() ... но работать оно будет только при тесте, но и в коде будет куча проверок IsTesting()---
YuraZ, всё это реализуется так же просто и без условной компиляции. Достаточно завести специальную переменную и менять ей значение.
Вас волнует то, что код таки будет компилироваться? Вам хочется правильного Си? Чтобы ничего лишнего не компилировалось?
Условная компиляция - это пережиток тех времён, когда винчестеры были маленькие, дискеты - большие, а компакт-дисков вообще не было.
Условная компиляция - это костыль для аппаратно/системно-зависимых модулей.
Условная компиляция - это безусловное зло, потому что позволяет не компилировать (читай синтаксически и семантически анализировать) рабочие куски кода.
А код чище делает не условная компиляция, а ясные мысли и правильные навыки разработчика.
YuraZ, всё это реализуется так же просто и без условной компиляции. Достаточно завести специальную переменную и менять ей значение.
Вас волнует то, что код таки будет компилироваться? Вам хочется правильного Си? Чтобы ничего лишнего не компилировалось?
да.
в бинарный - выполняемый - файл
---
переменная это тоже своего рода выход... будет лишняя проверка конечно
в вашем варианте код будет ничем не лучше, чем при коде с директивами условной компиляции
правда в вашем случае:
в конечный выполняемый модуль будет включен никому не нужный и никогда не работающий участок кода...( так что Вариант с переменной можно считать своего рода ЗЛОМ )
а с условной компиляцией НИЧЕГО ЛИШНЕГО НЕ БУДЕТ в готовом коде
условная компиляция не включит ЛИШНЮЮ проверку, и не включит код который не нужен!---
зло это или не зло, это вопрос риторический
---
какой подход - навык из них более правильный зависит от того что Вы желаете на выходеВы про код исходный, я про код бинарный
--------------------------------------------------------------------------
--- ясные мысли они при любом подходе делают код чище
я понимаю что Вам не нравится условная компиляция... :-) но это не означает что это ЗЛО...
я понимаю что Вам не нравится условная компиляция... :-) но это не означает что это ЗЛО...
Правильно, Юра! ЗЛО существует только в голове конкретного человека. В голове другого человека этого зла может и не быть. Всё зависит от отношения, от важностей...
Понятия Зло и добро придумал человек, и они работают только в нашем обществе
при том что у каждого свои рамки между злом и добром..
у каждого свои рамки между злом и добром..
не только рамки между... но и вообще сами категории... Например, что русскому хорошо, то немцу смерть. Тут одна и та же вещь является одновременно и добром, и злом.