「XS」はプログラミング言語だった!
- XS - xsubpp -> C
- xsubpp - compiler to convert Perl XS code into C code
- https://perldoc.perl.org/xsubpp
- “This compiler is typically run by the makefiles created by
ExtUtils::MakeMaker or by Module::Build or other Perl module
build tools”
- ExtUtils::ParseXSに実装がある
- https://github.com/Perl/perl5/blob/blead/dist/ExtUtils-ParseXS/lib/ExtUtils
/ParseXS.pm
- 「大規模なリファクタリングが始まっている」!!
- https://speakerdeck.com/charsbar/2025nian-qiu-noperl?slide=59
28
「ネイティブ拡張」?
- perlxstut - Tutorial for writing XSUBs (Perl)
https://perldoc.perl.org/perlxstut
- “a Perl extension”
- Gems with Extensions (RubyGems)
https://guides.rubygems.org/gems-with-extensions/
- “Many gems use extensions to wrap libraries …”
- Extending Python with C or C++ (Python)
https://docs.python.org/3/extending/extending.html
- “extension modules”
- C++ addons (Node.js) https://nodejs.org/api/addons.html
- “Addons are dynamically-linked shared objects written in C++”
44
Slide 45
Slide 45 text
「ネイティブ拡張」?
- perlxstut - Tutorial for writing XSUBs (Perl)
https://perldoc.perl.org/perlxstut
- “a Perl extension”
- Gems with Extensions (RubyGems)
https://guides.rubygems.org/gems-with-extensions/
- “Many gems use extensions to wrap libraries …”
- Extending Python with C or C++ (Python)
https://docs.python.org/3/extending/extending.html
- “extension modules”
- C++ addons (Node.js) https://nodejs.org/api/addons.html
- “Addons are dynamically-linked shared objects written in C++”
45