Собственно, 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)