Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
m_SlaDima T Тут на асме этот пример вчера выложил, по сути в машинных кодах. Код после компиляции почти одинаковый получился.ИМХО реализация библиотечной strcpy от while(*s++=*t++) должна сильно отличаться. На асме эффективный по быстродействию код совсем другой. Ну не сам же я на асме это писал. Попробуй у себя. По ссылке исходник и копипаст из дебагера MSVC 2008 Express. Для просмотра в АСМе поставить BreakPoint, когда остановится правая кнопка и "Go to Disassebly" Проект "Win32 console Application". Релиз. Настройки компиляции по умолчанию. Кстати код немного отличается (командой lea) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 08:56 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
mingw 4.4.0 release вместо strcpy компилятор вставил : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. :-) полный листинг Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 09:47 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
m_Slamingw 4.4.0 release вместо strcpy компилятор вставил ... Продуманный компилятор. Так точно быстрее будет. И строку исходную можно не хранить отдельно. Такому компилятору надо строки длиной кратно 4 давать (с учетом нуля в конце), тогда он только mov dword ... будет вставлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 10:02 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Прошу прощение, вышеприведённый код неверный. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Правильно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 07:39 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
И то этот код мне не нравится. Мне кажется что он может быть короче и красивее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 08:03 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Первые 2 if-а внутри цикла никогда не выполнятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 09:36 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, просто не ожидал увидеть ТАКОЕ. Выполнится конечно когда-нибудь. Без поллитры результат выполения сего поделия сразу и не предскажешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 09:45 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
wst, тут всё очень просто. Почему вы так удивляетесь ? Лучше предложите аналогичный, но более короткий аналог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 10:13 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Пишу сейчас с планшета, поэтому код смогу только вечером отписать. Проблема же в избытке инкрементов внутре short-circuit операторов (&&) которые делают ход выполнения в цикле не вполне очевидным. Так что рекомендую просто взять "неверную" версию функции и исправить только последний return. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 11:30 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЛучше предложите аналогичный, но более короткий аналог Вот аналог (только я не понял зачем ты его переписывать начал) SashaMercury Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. или еще понятней через while() Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 11:56 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Если совсем точно то это не аналог, потому как версия с 6 инкрементами на цикл должна возвращать 0 для s="11" t="121". А тут просто честное сравнение строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 12:09 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Если сравнивать f e "aa" и "aab" вернёт 0. А должно быть 1(либо -1 не помню) Верно ведь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 14:44 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЕсли сравнивать f e "aa" и "aab" вернёт 0. А должно быть 1(либо -1 не помню) Верно ведь ? Есть простой способ проверить: взять, запустить и посмотреть что получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 15:01 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Dima TЕсть простой способ проверить: взять, запустить и посмотреть что получилось Ну, так любой сможет. А вот в уме проиграть код и посмотреть что получилось... Вот это реально прочищает мозги :) ЗЫ. Я в 9-м классе как-то в лагере без компа за пару недель написал ассемблер, в уме отладил, потом вернулся домой, набрал текст из тетради, и сразу заработало без отладки. Вот что Forth животворящий делает :) На С конечно такое "без компа" вряд ли возможно для программ размером больше страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 17:15 |
|
||
|
K&R 5.5 Указатели символов и функции. Корректен ли код ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЗЫ. Я в 9-м классе как-то в лагере без компа за пару недель написал ассемблер, в уме отладил ... Ты не один такой был, тоже начинал с компилирования в тетрадке :) Был у меня в 9 классе первый комп ПК Львов с процом 8080. Как загрузишь есть бэйсик встроенный и никаких возможностей (лично у меня) куда-то что-то сохранить. Набил, запустил, поигрался. Бэйсик быстро надоел, т.к. на нем самое элементарное тормозило, но в инструкции к компу был описан АСМ с кодами команд, простенький самплес как этот байт-код запустить. Синтаксис не помню, примерно так Код: plaintext 1. 2. напишешь сначала в тетрадке на асме, рядом "откомпилируешь" в байты, байты долбишь в комп. Накосячил - все повиснет, ребут, поиск ошибок в тетрадке и долби по новой. Стимулировало думать, понимать и внимательно перепроверять чтобы не долбить лишний раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2014, 18:58 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38551399&tid=2019697]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 281ms |
| total: | 426ms |

| 0 / 0 |
