The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Search results for "module:FFI::Platypus"

FFI::Platypus - Write Perl bindings to non-Perl libraries with FFI. No XS required. River stage two • 65 direct dependents • 88 total dependents

Platypus is a library for creating interfaces to machine code libraries written in languages like C, C++, Go, Fortran, Rust, Pascal. Essentially anything that gets compiled into machine code. This implementation uses libffi <https://sourceware.org/li...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Legacy - Legacy Platypus interfaces River stage two • 65 direct dependents • 88 total dependents

This class is private to FFI::Platypus....

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Bundle - Bundle foreign code with your Perl module River stage two • 65 direct dependents • 88 total dependents

This document serves as a tutorial for using the new bundling interface provided by FFI::Platypus as of api version 1. It requires FFI::Platypus of at least 1.00. Sometimes when writing FFI bindings you need to include a little C code (or your favori...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Legacy::Raw::Platypus - Private class for FFI::Platypus::Legacy::Raw River stage one • 1 direct dependent • 1 total dependent

PLICEASE/FFI-Platypus-Legacy-Raw-0.06 - 03 Mar 2019 13:17:34 UTC

FFI::Platypus::DL - Slightly non-portable interface to libdl River stage two • 65 direct dependents • 88 total dependents

This module provides an interface to libdl, the dynamic loader on UNIX. The underlying interface has always been used by FFI::Platypus, but it wasn't a public interface until version 0.52. The name was changed with that version when it became a publi...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::API - Platypus arguments and return value API for custom types River stage two • 65 direct dependents • 88 total dependents

NOTE: I added this interface early on to FFI::Platypus, but haven't used it much, generally finding function wrappers to be a more powerful (although possibly not as fast) interface. It has thus not been tested as much as the rest of Platypus. If you...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Type - Defining types for FFI::Platypus River stage two • 65 direct dependents • 88 total dependents

Note: This document assumes that you are using "api => 2", which you should be using for all new code. This document describes how to define types using FFI::Platypus. Types may be "defined" ahead of time, or simply used when defining or attaching fu...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Lang - Language specific customizations River stage two • 65 direct dependents • 88 total dependents

This namespace is reserved for language specific customizations of FFI::Platypus. This usually involves providing native type maps. It can also involve computing mangled names. The default language is C, and is defined in FFI::Platypus::Lang::C. This...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Closure - Platypus closure object River stage two • 65 direct dependents • 88 total dependents

This class represents a Perl code reference that can be called from compiled code. When you create a closure object, you can pass it into any function that expects a function pointer. Care needs to be taken with closures because compiled languages ty...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Memory - Memory functions for FFI River stage two • 65 direct dependents • 88 total dependents

This module provides an interface to common memory functions provided by the standard C library. They may be useful when constructing interfaces to C libraries with FFI. It works mostly with the "opaque" type and it is worth reviewing the section on ...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Buffer - Convert scalars to C buffers River stage two • 65 direct dependents • 88 total dependents

A common pattern in C is to pass a "buffer" or region of memory into a function with a pair of arguments, an opaque pointer and the size of the memory region. In Perl the equivalent structure is a scalar containing a string of bytes. This module prov...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Record - FFI support for structured records data River stage two • 65 direct dependents • 88 total dependents

[version 0.21] This module provides a mechanism for building classes that can be used to mange structured data records (known as C as "structs" and in some languages as "records"). A structured record is a series of bytes that have structure understo...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Lang::C - Documentation and tools for using Platypus with the C programming language River stage two • 65 direct dependents • 88 total dependents

This module provides some hooks for Platypus to interact with the C programming language. It is generally used by default if you do not specify another foreign programming language with the FFI::Platypus#lang attribute....

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Declare - (discouraged) Declarative interface to FFI::Platypus River stage one • 4 direct dependents • 6 total dependents

This module is officially discouraged. The idea was to provide a simpler declarative interface without the need of (directly) creating an FFI::Platypus instance. In practice it is almost as complicated and makes it difficult to upgrade to the proper ...

PLICEASE/FFI-Platypus-Declare-1.34 - 27 Mar 2021 16:29:47 UTC

Alt::FFI::Raw::Platypus - Alternate FFI::Raw implementation powered by FFI::Platypus River stage zero No dependents

This distribution provides an alternative implementation of FFI::Raw that uses FFI::Platypus instead of its own XS code. This may be useful in situations that you want to use modules that rely on FFI::Raw on platforms that are not supported by the or...

PLICEASE/Alt-FFI-Raw-Platypus-0.04 - 30 Apr 2021 03:01:50 UTC

FFI::Platypus::Lang::Go - Documentation and tools for using Platypus with Go River stage zero No dependents

This distribution is the Go language plugin for Platypus. It provides the definition for native Go types, like "goint" and "gostring". It also provides a FFI::Build interface for building Perl extensions written in Go (see FFI::Build::File::GoMod for...

PLICEASE/FFI-Platypus-Lang-Go-0.03 - 22 Mar 2024 21:46:57 UTC

FFI::Platypus::Internal - For internal use only River stage two • 65 direct dependents • 88 total dependents

This module is for internal use only. Do not rely on it having any particular behavior, or even existing in future versions. You have been warned....

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Constant - Define constants in C space for Perl River stage two • 65 direct dependents • 88 total dependents

The Platypus bundle interface (see FFI::Platypus::Bundle) has an entry point "ffi_pl_bundle_constant" that lets you define constants in Perl space from C. void ffi_pl_bundle_constant(const char *package, ffi_platypus_constant_t *c); The first argumen...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Lang::ASM - Documentation and tools for using Platypus with the Assembly River stage two • 65 direct dependents • 88 total dependents

Setting your lang to "ASM" includes no native type aliases, so types like "int" or "unsigned long" will not work. You need to specify instead "sint32" or "sint64". Although intended for use with Assembly it could also be used for other languages if y...

PLICEASE/FFI-Platypus-2.08 - 05 May 2023 21:50:13 UTC

FFI::Platypus::Lang::Raw - Types for use with FFI::Platypus::Legacy::Raw River stage one • 1 direct dependent • 1 total dependent

This is a "language" plugin for FFI::Platypus::Legacy::Raw integration. Included are the same types provided by FFI::Platypus::Lang::C, plus the types understood by Raw such as "FFI::Platypus::Legacy::Raw::int()"....

PLICEASE/FFI-Platypus-Legacy-Raw-0.06 - 03 Mar 2019 13:17:34 UTC
134 results (0.07 seconds)