Собственно, subj. Если сделать такую библиотеку: #include <stdio.h> #include <stdlib.h> void * operator new(size_t n) { printf("operator new(%d)\n",n); return malloc(n); } void operator delete(void* p) { printf("operator delete(%X)\n",p); return free(p); } class my_struct { char data[0x10000]; }; my_struct *mystr = new my_struct; extern "C" { extern void Cleanup () { printf("cleaning up...\n"); delete mystr; } } загрузить, поработать и выгрузить ее dlopen/dlsym/dlclose, операторы new/delete заиспользуются вовсе не мои перегруженные, а стандартные. как же быть, если мне позарез нужно перегрузить new/delete в моей конкретной библиотеке? Да, а в обычных екзешниках все мои new/delete работают...
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от jek_
Ответ на:
комментарий
от jek_
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от jek_
Ответ на:
комментарий
от Valeriy_Onuchin
Ответ на:
комментарий
от jek_
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C++] Перегрузка new и delete в производном классе (2011)
- Форум помогите начинающему ! (2006)
- Форум Структура epoll сервера (2010)
- Форум Разделяемая библиотека и thread safety (2014)
- Форум Сайдэффект при вызове dlsym (2018)
- Форум покритикуйте функцию (2009)
- Форум [C++] Не получается вызывать метод класса в share object (2010)
- Форум Сохранить состояние в crt между вызовами dlopen/dlclose, не изменяя main-программу (2012)
- Форум Как объявить extern struct (2011)
- Форум Перегрузка оператора << (2018)