|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
14.07.2011, 20:14 | #11 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Полегче на поворотах!
Говорить, что this - аргумент функции - вот это чушь. Разумеется мной имелась ввиду платформа x86. |
14.07.2011, 20:18 | #12 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Я вам еще раз повторяю: не несите всякую чушь! К языку программирования С++ ваши замечания никакого отношения не имеют! this - это неявный параметр для нестатических функций - членов класса. И как он будет передаваться в функцию, через стек, либо через регистр, либо еще каким-то образом, это все лишь вопрос генерации объектного кода для конкретной реализации С++ на конкретной платформе. Например, на платформе IBM maqinframe есть лишь регистры общего назначения, которые обозначаются как 0, 1. 2....15. Для удобства на ассемблере перед этими цифрами ставят буковку R, то есть R0, R1, ..., R15. Никаких там ECX вообще в природе не существует!
Со мной можно встретиться на www.clipper.borda.ru
|
14.07.2011, 20:21 | #13 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
И, вообще, вам рано давать комментарии на этом форуме, так как вы совершенно не знаете С++. Я уж не говорю о том. что вы в жизни не видели в глаза стандарта С++.
Со мной можно встретиться на www.clipper.borda.ru
|
14.07.2011, 20:22 | #14 | ||
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Сыроежка, вынужден поддержать вас в этом холиваре...
Цитата:
Цитата:
Последний раз редактировалось _-Re@l-_; 14.07.2011 в 20:25. |
||
14.07.2011, 20:28 | #15 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Сыроежка, а вы видимо совершенно не знаете соглашений о вызовах?
в thiscall-x86/x64(в студии по умолчанию именно он, в gcc не проверял) this действительно передается через ecx. и не нужно ссылаться вечно на стандарт, в нем, в принципе, не может говорится про передачу параметров для всех-всех платформ. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 14.07.2011 в 20:33. |
14.07.2011, 20:45 | #16 | |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Цитата:
Вы - один из тех убогих, которые наивно думают, что в мире существуют только платформы Intel, и что все компиляторы генерируют один и тот же объектный код. Ваш регистр ECX никакого отношения к соглашениям о вызовах не имеет. Еще раз повторяю для тех идиотов, которые все равно попытвются влезь со соей безграмотностью: ECX никакого отношения к соглашению о вызовах не имеет! Если вы имеете дело с платформой Intel, то в любом случае разработчик компилятора может при генерации объектного коджа при передачи указателя this использовать любой из регистров, за исключением регистров сегмента. Он может передавать этот указатель и в EAX, и в EBX, и в ECX, и в EDX, и через стек, и через спец3иальную локально выделенную память и т.д. И может даже передавать его через пару регистров, а не через один регистр! Были бы вы хоть чуточку более образованными, то знали, что на Intel платформах между прочим существуют и 16-битовый код! А самое главное, что есть 64-битовые платформы, которые эмулируются на 32-битовых платформах, где указаиели занимают два машинных слова, а потому передаются с помощью пары регистров EAX:EDX.
Со мной можно встретиться на www.clipper.borda.ru
Последний раз редактировалось Сыроежка; 14.07.2011 в 20:48. |
|
14.07.2011, 20:45 | #17 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Пепел Феникса
то, что при thiscall-e this передается через регистр ecx, это свойство конкретного компилятора - vc++. и информация об этом в данном треде явно лишняя. 2Сыроежка считаешь каждый обязан купить копию стандарта? или драфт читать?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
14.07.2011, 20:50 | #18 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Считать себя С++ программистом можно лишь в одном случае, когда вы имеете и читаете С++ стандарт. В противном случае вы язык С++ заменяете своими более менее грамотными или безграмотными фантазиями!
Со мной можно встретиться на www.clipper.borda.ru
|
14.07.2011, 20:53 | #19 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
писал под ARM7. кстати вы видимо еще и слепой, цитирую себя же: Цитата:
меня просто задело, что вы так ссылаетесь на стандарт как на скрижали заповедей от Господа. про thiscall упомянул, что в студии он действительно передает this через ecx. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 14.07.2011 в 20:56. |
||||
14.07.2011, 20:54 | #20 | |||||||||
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Скажу вам по секрету, Сыроежка, я лично знаком с одним программистом, он(вернее, контора в которой он работает) использует С++ как основной язык. Так вот, он в глаза не видел стандарт С++, и, однако, прекрасно живёт без него. P.S. Пепел Феникса, pproger, заметили может, docbrain по сравнению с Сыроежкой нервно курит в стороне... Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Последний раз редактировалось _-Re@l-_; 14.07.2011 в 21:00. |
|||||||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
прокоментируйте строчку... | Natashka Milashka | Общие вопросы Delphi | 4 | 20.05.2011 07:54 |
Прокоментируйте код | Romario92 | Общие вопросы C/C++ | 13 | 30.10.2010 22:49 |
Обьясните что делают и означают пару строк в программном коде! | FreeZeT | Общие вопросы C/C++ | 2 | 15.06.2010 03:20 |
Расшифровать подробно пару строк программы | prikolist | Общие вопросы C/C++ | 4 | 25.03.2009 22:50 |
Необходимо расшифровать пару строк программы | prikolist | Общие вопросы C/C++ | 12 | 19.03.2009 22:08 |