|
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 4
|
|
double*p показать, что операция p++ передвигает указатель по памяти на определенное кол-во байт впарво24.12.2020, 18:28. Показов 5236. Ответов 81
Метки нет (Все метки)
double*p показать, что операция p++ передвигает указатель по памяти на определенное кол-во байт впарво
0
|
|
| 24.12.2020, 18:28 | |
|
Ответы с готовыми решениями:
81
double*p показать, что операция p++ передвигает указатель по памяти на определенное кол-во байт впарвл Как написать на masm под х86 функцию поиска кол-ва вхождений последовательности байт в большом массиве байт? Нюансы синтаксиса: запись double *array - это указатель или что-то иное? |
| 01.01.2021, 17:18 | ||
|
Не по теме:
0
|
||
| 01.01.2021, 17:22 | |
|
0
|
|
|
Супер-модератор
|
|||
| 01.01.2021, 17:36 | |||
|
Добавлено через 7 минут
1
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 01.01.2021, 17:38 | |
|
1
|
|
|
Комп_Оратор)
|
|
| 01.01.2021, 17:38 | |
|
Catstail, вот статейка
https://www.ixbt.com/cpu/cpu-bitness.shtml похожая на то. Там есть, о "урезанных" адресных регистрах.
1
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 01.01.2021, 17:49 | ||
|
Добавлено через 5 минут Еще одна шутка в том, что новоприбывшие разработчики смотрят старый код. И... делают так же. В итоге порочная практика распространилась на весь проект. Ну а что, работает же? Третья шутка в том, что когда мы это делали, у нас не было доступного развитого статического анализатора, который умеет работать с ошибками многоплатформенности. PWS был доступен тогда только для Win, а clang analizer был еще в зачаточном состоянии. Допустим был бы PWS, но он стоит денег. Время программистов стоит денег. Убытки в несколько человеколет только потому, что в свое время кто-то поленился написать uintptr_t вместо int. Естественно ошибки были не только в этом, но все-таки. Это очень показательно.
3
|
||
|
Супер-модератор
|
||
| 01.01.2021, 18:09 | ||
|
IGPIGP, очень интересная статья! Огромное спасибо!
Добавлено через 30 секунд DrOffset, верно, конечно... Добавлено через 6 минут
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 01.01.2021, 18:19 | ||
|
0
|
||
|
Комп_Оратор)
|
||
| 01.01.2021, 18:23 | ||
|
1
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 01.01.2021, 18:37 | ||
|
Catstail, я имею в виду, что адресное пространство может быть больше физически за счет специализированного набора инструкций для адресации.
Добавлено через 4 минуты Catstail, почитайте здесь: https://www.wikiwand.com/en/Memory_address
1
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||
| 01.01.2021, 18:41 | |||
|
Изначально речь шла не о сиюминутном практическом применении. Речь шла о сути вещей: Ну так вот, в сущности, адрес не обязан быть ни обычным, ни целым, ни числом. В том, что касается практических профитов: если вы понимаете, что адрес не обязан быть "просто целым числом", то вы не станете запихивать его лонг, и думать, что это - нормально.
0
|
|||
| 01.01.2021, 18:45 | |
|
0
|
|
|
Супер-модератор
|
|
| 01.01.2021, 21:23 | |
|
eva2326, да-да адрес - это банан, лошадь скачет... Успокойтесь.
Добавлено через 18 минут IGPIGP, потихоньку "градус понизился". Адрес - это все-таки число (а не банан); по крайней мере в современных системах. То, что его "нехорошо" загружать в знаковый long - принимаю. Дискуссия закончилась бы довольно быстро, если бы некоторые участники не начали бы меня поучать в хамоватой манере (я этого не люблю). DrOffset, Да, в 8-битных МП 16-битный адрес в al не загрузишь. Я не знаю толком архитектуру 8080, но думаю, что арифметика 16-битных данных там есть. А раз так, то и адрес может представлен в таком виде. Так? Теперь вообразим некую систему, в которой память линейная (не сегментированная) и очень большого объема. А расхожий регистр не способен вместить адрес. Поскольку адрес - это все-таки число, то вот интересно, как бедная printf будет реализовывать формат %p ?
1
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 01.01.2021, 21:26 | ||
|
0
|
||
|
Супер-модератор
|
|
| 01.01.2021, 21:31 | |
|
DrOffset, это понятно. Но откуда эти части возьмутся? Если адрес в регистр не грузится? Если, к примеру в один не грузится, а в пару - грузится, то и мне никто не мешает представлять адрес длинным целым.
Короче, если printf с этой проблемой справиться может, то и я могу. А значит, никто не запрещает считать адрес просто длинным числом.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 01.01.2021, 21:47 | ||
|
2
|
||
|
Супер-модератор
|
|
| 01.01.2021, 21:54 | |
|
DrOffset, отождествить литературное произведение с целым числом можно. Но это не очень конструктивно (если не сказать - просто бесполезно). А отождествление адреса с числом совершенно естественно.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||
| 01.01.2021, 22:12 | ||||
![]()
0
|
||||
|
Супер-модератор
|
||
| 01.01.2021, 22:36 | ||
|
Кстати, созрел вопрос: если загрузка указателя в long (со знаком!) - такой страшный грех, почему компилятор этого просто не запрещает? Ведь разработчикам компилятора сделать это - пара пустых!
0
|
||
| 01.01.2021, 22:36 | |
|
Зачем тут создается указатель p? И что за "странная" операция *p = *p = 1? Почему на указатель в 64-разрядной системе выделяется 8 байт памяти, а в 32-разрядной системе - 4 байта? Как заставить программу принимать цепочку байт из оперативной памяти, в виде массива байт ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|