информационная безопасность
без паники и всерьез
 подробно о проекте
Сетевые кракеры и правда о деле ЛевинаПортрет посетителяЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] ATL + MFC problems 10.09.01 22:52  Число просмотров: 969
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Всем хай.
>
> Недавно писал один ATL COM на VC7.NET и столкнулся с такой
> проблемой:
> в коме я юзал сокеты и когда перекомпиливал project со
> вслюченным Use MFC as a static library, после запуска любых
> функций юзающих сокет (у меня был асинхронный) получал
> еггог Memory Access Violition. :(

Tvoia problema v tom chto esli memory allociruatsia na heap (crt ili mfc) togda, esli memory allociruetsia v odnom module (exe ili dll) a delalocyruetsia v drugom - eto problema potomuchto heap vsegda local dlia kazhdogo modula (hotia pointer allocirovannyi etim heapom valid v oboih modulah), PRI USLOVII CHTO TY STACTICHESKI PRILINKOVALSIA (i bez raznicy ATL eto ili VC7.net same BS). I v kazdom module budet svoi foo's dlia raboty s heep i estestvenno svoi heap. Dlia razreshenia etoii problemy libo dinamicheski prilinkuiisia , libo delalocirui pamiat` v tom zhe module gde ty ee i allociroval.

Bot primer (zapusti etu foo v exe i dll i ty uvidish chto heaps raznye):

void heapdump( void )
{
   _HEAPINFO hinfo;
   int heapstatus;
   hinfo._pentry = NULL;
   while( ( heapstatus = _heapwalk( &hinfo ) ) == _HEAPOK )
   { printf( "%6s block at %Fp of size %4.4X\n",
        ( hinfo._useflag == _USEDENTRY ? "USED" : "FREE" ),
          hinfo._pentry, hinfo._size );
   }

   switch( heapstatus )
   {
   case _HEAPEMPTY:
      printf( "OK - empty heap\n" );
      break;
   case _HEAPEND:
      printf( "OK - end of heap\n" );
      break;
   case _HEAPBADPTR:
      printf( "ERROR - bad pointer to heap\n" );
      break;
   case _HEAPBADBEGIN:
      printf( "ERROR - bad start of heap\n" );
      break;
   case _HEAPBADNODE:
      printf( "ERROR - bad node in heap\n" );
      break;
   }
}

---


> Кто что-нить может подсказать - буду благодарен. :)
>
> Желаю всем Добра :)
> RatiO (root@ratio.dp.ua)
<programming>
[C++] ATL + MFC problems 09.09.01 01:29  
Автор: RatiO Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Всем хай.

Недавно писал один ATL COM на VC7.NET и столкнулся с такой проблемой:
в коме я юзал сокеты и когда перекомпиливал project со вслюченным Use MFC as a static library, после запуска любых функций юзающих сокет (у меня был асинхронный) получал еггог Memory Access Violition. :(
Кто что-нить может подсказать - буду благодарен. :)

Желаю всем Добра :)
RatiO (root@ratio.dp.ua)
[C++] ATL + MFC problems 10.09.01 22:52  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Всем хай.
>
> Недавно писал один ATL COM на VC7.NET и столкнулся с такой
> проблемой:
> в коме я юзал сокеты и когда перекомпиливал project со
> вслюченным Use MFC as a static library, после запуска любых
> функций юзающих сокет (у меня был асинхронный) получал
> еггог Memory Access Violition. :(

Tvoia problema v tom chto esli memory allociruatsia na heap (crt ili mfc) togda, esli memory allociruetsia v odnom module (exe ili dll) a delalocyruetsia v drugom - eto problema potomuchto heap vsegda local dlia kazhdogo modula (hotia pointer allocirovannyi etim heapom valid v oboih modulah), PRI USLOVII CHTO TY STACTICHESKI PRILINKOVALSIA (i bez raznicy ATL eto ili VC7.net same BS). I v kazdom module budet svoi foo's dlia raboty s heep i estestvenno svoi heap. Dlia razreshenia etoii problemy libo dinamicheski prilinkuiisia , libo delalocirui pamiat` v tom zhe module gde ty ee i allociroval.

Bot primer (zapusti etu foo v exe i dll i ty uvidish chto heaps raznye):

void heapdump( void )
{
   _HEAPINFO hinfo;
   int heapstatus;
   hinfo._pentry = NULL;
   while( ( heapstatus = _heapwalk( &hinfo ) ) == _HEAPOK )
   { printf( "%6s block at %Fp of size %4.4X\n",
        ( hinfo._useflag == _USEDENTRY ? "USED" : "FREE" ),
          hinfo._pentry, hinfo._size );
   }

   switch( heapstatus )
   {
   case _HEAPEMPTY:
      printf( "OK - empty heap\n" );
      break;
   case _HEAPEND:
      printf( "OK - end of heap\n" );
      break;
   case _HEAPBADPTR:
      printf( "ERROR - bad pointer to heap\n" );
      break;
   case _HEAPBADBEGIN:
      printf( "ERROR - bad start of heap\n" );
      break;
   case _HEAPBADNODE:
      printf( "ERROR - bad node in heap\n" );
      break;
   }
}

---


> Кто что-нить может подсказать - буду благодарен. :)
>
> Желаю всем Добра :)
> RatiO (root@ratio.dp.ua)
1





Рейтинг@Mail.ru


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