[Moscow.pm] XS как переименовать модуль?
Ivan Petrov
i.petro.77.00 на gmail.com
Пн Янв 31 23:01:18 PST 2011
> $str = 0x1000; $str = '';
а вот это не совсем то, вернее совсем не то.
одно дело при создании скаляра - выделить заранее память, а совсем другое
дело - выделить память *и заполнить ее значением*.
используя XS можно сделать первое, а вот данная конструкция делает второе.
то же самое и с массивами. когда мы пишем $#a = 1000; реально создается 1000
скаляров и если затем сказать push @a => $b; то $b запишется по 1001
индексу,
а вот если мы в C скажем av_extend(a, 1000), а затем следом av_push(a, b),
то в результате у нас будет массив из одного элемента, но не требующий
переаллокации до тех пор пока не допушимся до 1000-го элемента
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20110201/391bb6a6/attachment.html>
Подробная информация о списке рассылки Moscow-pm