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