|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.09.2016, 00:03 | #41 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Два знака равно не в выражении, а по коду: первый в выражении, второй внутри свойства.
Подпись ? Не, не слышал ...
|
15.09.2016, 00:04 | #42 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
его никто не вызывает. где в коде Код:
вы читайте пожалуйста мои сообщения полностью. я в коде могу и 100 знаков равно написать, разве они выполнятся все? сразу? не разбивайте выражение на части, выражение делает ровно то что написано. то что вы описываете выглядит вот так: Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 15.09.2016 в 00:11. |
|
15.09.2016, 00:18 | #43 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Цитата:
Суть одна и та же (результат), только в случае со свойством происходит вложение. Мне даже стало это интересно на уровне ассемблера. Ща напишу програмулину, и буду ковырять процесс в отладчике CheatEngine.
Подпись ? Не, не слышал ...
|
|
15.09.2016, 00:27 | #44 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
у нас не копия массива. это в принципе бессмысленно. это совсем иной код. Цитата:
Код:
Цитата:
плюс не думаю что вам будет весело отлаживать IL-код в асме это масло масленное выглядит примерно так: Код:
Цитата:
будет выполнено ровно то что написано. вы перечитайте примеры кода что я вам присылал. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 15.09.2016 в 00:42. |
||||
15.09.2016, 00:33 | #45 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
запомните одну вещь, код делает то что написано, а не то что вы выдумали.
myClass.Data[i]=myClass.Data[j] присвоит rvalue в lvalue. будет выполнено ровно одно присвоение, ровно один set. int[]=this[int]=>set, что и написано. не фантазируйте того, чего нет. не усложняйте код на пустом месте. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 15.09.2016 в 00:39. |
|
15.09.2016, 02:00 | #46 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Только на верхнем уровне данных кода (без учёта перехода по стеку внутри класса) при трассировке происходит три вызова call. Что по приведённому мною порядку действий Цитата:
операция 2 происходит наверху после 1 операция 4 - так же наверху после операции 3 операция 5 - переход по стеку и запись ссылки. В вашем коде есть только два перехода. Трассировка скриншотом во вложении. К тому же, студийный отладчик не даст мне таких данных (или я чего то не знаю). P. S. Возможно я неправильно оперирую терминологией, но переход по стеку = вызов функции. В нашем случае функция = свойство.
Подпись ? Не, не слышал ...
|
|
15.09.2016, 02:05 | #47 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Цитата:
По поводу уровня кода есть уточнение: на предмете "архитектура компьютеров" рассказывается про 5 уровней программирования, где 0 - физические сигналы - то, что происходит на самом деле (аппаратная инженерия) 1 - машинные коды (бинарь) 2 - команды микро-архитектуры (биос, ОЗУ, и всё рядом находящееся) 3 - ассемблер 4 - API 5 - код высокого уровня
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 15.09.2016 в 02:10. |
|
15.09.2016, 02:32 | #48 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
вы хоть знаете что за код вы показываете? вы хоть знаете что он делает? вы знаете структуру управляемых классов? нет, вы увидели три call, и считаете что правы, охренеть анализ. call dword ptr[eax] явно вызов из таблицы методов, значит уже не все так просто. вы не можете сопоставить call, с кодом источника, так что не страдали бы ерундой. если код работает как вы на фантазировали, то это бы не работало. Код:
Цитата:
вы нашли кусок код, но не смогли проанализировать его. напоминает ситуацию с тестированием, не так ли? Цитата:
студия покажет полный асм с подписью что и где. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 15.09.2016 в 02:37. |
|||
15.09.2016, 02:41 | #49 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 15.09.2016 в 02:47. |
15.09.2016, 02:46 | #50 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Уже переходим на ты ? Нет, такого я себе не позволю. Вопрос в другом. Я знаю, что у ассемблера не существует понятия "свойство", а значит шарповские свойства - это кастрированные функции - вот вам и переходы по стеку (вызов функции). Этого достаточно для того, что бы не вдаваться в детали кода. К тому же - приведённый скриншот описывает запись в массив (в ячейку памяти). Я забыл оттрассировать чтение из памяти. Цитата:
Подпись ? Не, не слышал ...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Wordpress, как создавать отдельные рубрики для страниц? | AlienNation | WordPress и другие CMS | 0 | 09.10.2012 11:42 |
Именованные таблицы | DiemonStar | Microsoft Office Excel | 4 | 02.10.2012 18:02 |
Операции класса, индексаторы Rectangle | 6666 | Общие вопросы .NET | 4 | 08.05.2012 11:31 |
Именованные ячейки | Foxx | Microsoft Office Excel | 1 | 20.02.2012 00:33 |
Как в Delphi создавать и использовать скины для програм | SeRhy | Помощь студентам | 3 | 20.12.2007 20:59 |