информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Сетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] apocalypse 03.08.01 22:10  Число просмотров: 932
Автор: + . Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > If your “C++” experience is the same as your English
> > experience then I don’t have to argue with you. You
> will
> > understand it later (in 1~2 years). :-) :-) :-)
> :-)
>
> Ой, ой, ой. Пальцы прямо из экрана лезут...

Dak slomai ix.

>
>
> > foo()
> > {
> > f();
> > //is equal to
> > this->f();//address is used, which
> > //means the information is incomplete. Now you see
> it.
> > Late binding.
> > //if you don’t believe me look at this assembler code
> > generated by VC compiler.
> >
> > 62: this->f();
> > 00401589 mov eax,dword ptr [ebp-4]
> > 0040158C mov edx,dword ptr [eax]
> > 0040158E mov esi,esp
> > 00401590 mov ecx,dword ptr [ebp-4]
> > 00401593 call dword ptr [edx+4]
> > 00401596 cmp esi,esp
> > 00401598 call __chkesp (00401c50)
> > 63: f();
> > 0040159D mov eax,dword ptr [ebp-4]
> > 004015A0 mov edx,dword ptr [eax]
> > 004015A2 mov esi,esp
> > 004015A4 mov ecx,dword ptr [ebp-4]
> > 004015A7 call dword ptr [edx+4]
> > 004015AA cmp esi,esp
> > 004015AC call __chkesp (00401c50)
>
> А к чему ты это нарисовал? kabanchik(а) неустраивало как
> раз раннее связывание в обход vtbl в случае вызова d.f()
> для этого примера. Ты бы предыдущие постинги почитал бы или
> гордыня не позволяет?

Po moemu I otvetil na ego vopros. Sluchaii kogda Foo vyzyvaetsia vnutri drugoi foo obecta.
Tak chto eto eche ras dokazyvaet, chto terpenia u tebia net prochitat` posting, na kotoryi I otvetil. I uvidev moi moniker na gorizonte stremishsia ko mne kak bыdlo bezhalo na zimnii dvorec.

>
> > > > // Early binding (probably):
> > > ^^^^^^^^^^^^^ good words. you can only suppose,
> but I
> > gues
> > > you are not sure.
> > Yes, I am not sure. But many compilers were
> constructed to
> > do “early binding” there.
>
> Ой я сейчас умру. Я все думала кто-же такой под плюсиками
> скрывается, а это оказывается Bruce Eckel собственной
> персоной. Интересно, а собственный пример ты можешь
> изобразить или только из книжки copy/paste?

Bot vidish i ty chitala eto knigu. Interesno, A vse ostalnye znania tebe ot boga dany?

>
>
> > Chto takoe "З.Ы." ? :-}
> Ты бы это... русский шрифт бы себе поставил что-ли. Который
> год все на велапуке общаешься, глядишь и узнал бы что такое
> "З.Ы.".

Ne vizhu ni kakoi sviazi mezdu ustanovlennym shriftom i "З.Ы.".

>
> 2kabanchik: В общем в таком поведении компиляторов нет
> ничего странного, как бы по умолчанию компилятор должен
> использовать раннее связывание там где это возможно. И в
> случае с явным указанием класса, функцию которого следует
> вызвать, компилятор и должен вызвать функцию "напрямую" без
> обращения к таблице. Фокусы с заменой vtbl
> "запрограммированы" не были ;))))
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach