Changes for version 0.41
- API CHANGES
- cisa has been removed! C::Blocks now uses the built-in type annotation facilities of Perl. Short type names are provided by C::Blocks::Types.
- DEPENDENCIES
- Bumped Alien::TinyCCx dependency to v0.12, which fixes struct alignment issues and enum handling.
- ENHANCEMENTS
- Perl package globals are now properly resolved. If you make a reference some $Some::Package::Scalar in your C code, it'll properly retrieve the SV named $Scalar from the package Some::Package.
- NEW FEATURES
- New module C::Blocks::Types provides short type names
- Double-colons are now processed by the code extractor and converted into double-underscores. So if you use Some::Thing in your C code block, it'll be immediately converted to Some__Thing.
- Source filters! C::Blocks source filters are given the contents of the C code, start to finish, to manipulate. While it would be nicer to hook directly into the parser, this provides 99% of the desired functionality with 1% of the required effort of a parser hook.
Documentation
Modules
embeding a fast C compiler directly into your Perl parser
base package for writing filters for C::Blocks
invoke methods succinctly
C interface for interacting with Perl
Enabling stretchy buffers in your context
type classes for basic C data types for C::Blocks
Provides
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm
in lib/C/Blocks/Types.pm