in reply to Re^2: extracting information about xsubs
in thread extracting information about xsubs

Well, this is not true. Names are in there, not hashed or smth. It means that you can extract them. Question is - how.

Sure they're not.

$ perl -MStorable -e" Storable::nstore() " not a reference at -e line 1. $ perl -MStorable -e" print grep /Storable.dll/i, keys %:: " _<C:/citrusperl/vendor/lib/auto/Storable/Storable.dll $ grep nstore C:/citrusperl/vendor/lib/auto/Storable/Storable.dll $ objdump -x C:/citrusperl/vendor/lib/auto/Storable/Storable.dll |grep + nstore

Where are they again?

Like I said, you have to use a disassembler to track down "newXS" calls which "register" subs

Replies are listed 'Best First'.
Re^4: extracting information about xsubs
by hurricup (Pilgrim) on Aug 19, 2015 at 04:55 UTC

    May be they are here, in Storable.pm?

    # # nstore # # Same as store, but in network order. # sub nstore { return _store(\&net_pstore, @_, 0); }

      If you look at Image::CCV and its XS file ..., you will find that myccv_pack_parameters is never used in the .pm module and only exported from the XS code. Maybe (maybe) you can extract the names from the DLL by looking at the exported symbols, but then you will need to learn about which exported symbols are supposed to be Perl-callable and which symbols are just exported because the programmer was lazy.

        It seems that xsubs are not exported. There is a single entry point in dll and xsubs are somewhere inside of it.