|
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 4
|
|
double*p показать, что операция p++ передвигает указатель по памяти на определенное кол-во байт впарво24.12.2020, 18:28. Показов 4996. Ответов 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 байта? Как заставить программу принимать цепочку байт из оперативной памяти, в виде массива байт ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|