Доброе время суток...
Есть вот такая програмка:
class Papa {
public:
~Papa();
};
Papa::~Papa() {}
int main()
{
Papa papa;
return 0;
}
После компиляции:
c++ tst.cc
Дизасемблирую с помощью objdump:
objdump -Cd a.out
...
0804837c <Papa::~Papa()>:
804837c: 55 push %ebp
804837d: 89 e5 mov %esp,%ebp
804837f: c9 leave
8048380: c3 ret
8048381: 90 nop
8048382: 89 f6 mov %esi,%esi
08048384 <Papa::~Papa()>:
8048384: 55 push %ebp
8048385: 89 e5 mov %esp,%ebp
8048387: c9 leave
8048388: c3 ret
8048389: 90 nop
804838a: 89 f6 mov %esi,%esi
...
Внимание, вопрос: почему деструктор встречается 2 раза?...
Проверял на GCC 3.4.4 и GCC 4.0.1 из FC3 и FC4.
Ответ на:
комментарий
от GameMagister
Ответ на:
комментарий
от Selecter
Ответ на:
комментарий
от Selecter
Ответ на:
комментарий
от Selecter
Ответ на:
комментарий
от Selecter
Ответ на:
комментарий
от fghj
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум непонятки с asm (2012)
- Форум стек. перезапись адреса возврата (2006)
- Форум Соглашение вызова. (2017)
- Форум Вызов ассемблерной функции с аргументами в стеке (2015)
- Форум При полной загрузки веб-страници программа вылетает в QWebEngineView (2017)
- Форум «Лишний» деструктор при компиляции с gcc (2003)
- Форум WiMAX Network Service 1.4 (2010)
- Форум [x86_64/asm/c] использование параметров в C-функции (2011)
- Статьи Линукс, ассемблер и X11 (2023)
- Форум Разъясните (2000)