Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Yemelyanov                     2:5020/400     02 Mar 2005  14:14:12
 To : All
 Subject : pack/unpack указателей
 -------------------------------------------------------------------------------- 
 
 Приветствую!
 
 Есть сторонняя dll. Hужно модифицировать поля расположенной в ней
 структуры. 
 Если известен адрес, размер и формат структуры, то правильно ли я
 рассуждаю: 
 
  # по адресу получили упакованную структуру
  $packed_struct = unpack("P$struct_size", $struct_addr);
  # распаковали
  @fields = unpack( $struct_format, $packed_struct);
  ... работаю с полями ...
  # снова пакуем
  $packed_struct = pack($struct_format, @fields);
 
  # а как теперь записать измененные данные обратно?
  pack("P$struct_size", $packed_struct); # так?
 
 Почему в документации приводится предупреждение при работе с "P" лишь
 для unpack, но не для pack? Значит все-таки unpack может писать в
 произвольную область памяти?
 Что-то тут с форматом "P" мне не до конца понятно...
 
 -- 
 Удачи!
 Максим
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.3
  * Origin: Enigma Soft (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 pack/unpack указателей   Maxim Yemelyanov   02 Mar 2005 14:14:12 
 pack/unpack указателей   Ivan Frolkov   02 Mar 2005 14:47:22 
Архивное /ru.perl/1312671a5d51c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional