|
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 4
|
|
double*p показать, что операция p++ передвигает указатель по памяти на определенное кол-во байт впарво24.12.2020, 18:28. Показов 4974. Ответов 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
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 01.01.2021, 17:38 | |
|
1
|
|
|
Комп_Оратор)
|
|
| 01.01.2021, 17:38 | |
|
Catstail, вот статейка
https://www.ixbt.com/cpu/cpu-bitness.shtml похожая на то. Там есть, о "урезанных" адресных регистрах.
1
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 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
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 01.01.2021, 18:19 | ||
|
0
|
||
|
Комп_Оратор)
|
||
| 01.01.2021, 18:23 | ||
|
1
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 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
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 01.01.2021, 21:26 | ||
|
0
|
||
|
Супер-модератор
|
|
| 01.01.2021, 21:31 | |
|
DrOffset, это понятно. Но откуда эти части возьмутся? Если адрес в регистр не грузится? Если, к примеру в один не грузится, а в пару - грузится, то и мне никто не мешает представлять адрес длинным целым.
Короче, если printf с этой проблемой справиться может, то и я могу. А значит, никто не запрещает считать адрес просто длинным числом.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 01.01.2021, 21:47 | ||
|
2
|
||
|
Супер-модератор
|
|
| 01.01.2021, 21:54 | |
|
DrOffset, отождествить литературное произведение с целым числом можно. Но это не очень конструктивно (если не сказать - просто бесполезно). А отождествление адреса с числом совершенно естественно.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||
| 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 байта? Как заставить программу принимать цепочку байт из оперативной памяти, в виде массива байт ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|