Package: rdyncall 0.10.0

Hongyuan Jia

rdyncall: Improved Foreign Function Interface and Dynamic Bindings to C Libraries

Provides a cross-platform framework for dynamic binding of C libraries using a flexible Foreign Function Interface (FFI). The FFI supports almost all fundamental C types, multiple calling conventions, symbolic access to foreign C struct/union data types and wrapping of R functions as C callback function pointers. Dynamic bindings to shared C libraries are data-driven by cross-platform binding specifications using a compact plain text format; the package includes a 'DynPort' binding specification for 'SDL3' generated from current headers with 'porter'. The package includes a variety of technology demos and OS-specific notes for installation of shared libraries. For the underlying methods and bundled 'DynCall' libraries, see Adler (2012) <doi:10.32614/RJ-2012-004> and Adler and Philipp (2008) <https://dyncall.org>.

Authors:Daniel Adler [aut, cph], Hongyuan Jia [aut, cre, cph], Tassilo Philipp [ctb, cph], Olivier Chafik [ctb, cph]

rdyncall_0.10.0.tar.gz
rdyncall_0.10.0.tar.gz(r-4.7-arm64)rdyncall_0.10.0.tar.gz(r-4.7-x86_64)rdyncall_0.10.0.tar.gz(r-4.6-arm64)rdyncall_0.10.0.tar.gz(r-4.6-x86_64)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
rdyncall/json (API)

# Install 'rdyncall' in R:
install.packages('rdyncall', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/hongyuanjia/rdyncall/issues

On CRAN:

Conda:

2.92 score 2 stars 84 scripts 2 downloads 45 exports 0 dependencies

Last updated from:8ff592f0a0. Checks:5 OK, 1 FAIL. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK136
linux-devel-x86_64OK121
source / vignettesOK162
linux-release-arm64OK141
linux-release-x86_64OK121
wasm-releaseFAIL87

Exports:as.ctypeas.externalptras.floatrawcallback_is_activecallback_last_errorcallback_statusccallbackcdatacstructcuniondynbinddyncalldyncall_variadicdyncall.cdecldyncall.defaultdyncall.fastcalldyncall.fastcall.gccdyncall.fastcall.msvcdyncall.stdcalldyncall.thiscalldyncall.thiscall.gccdyncall.thiscall.msvcdyncountdynfinddynfind_explaindynlistdynloaddynpathdynportdynport_clear_libdynport_install_packagedynport_libdynport_load_intodynsymdynunloadfloatrawfloatraw2numericis.externalptris.nullptroffset_ptrpackptr2strstrarrayptrstrptrunpack

Dependencies:

Readme and manuals

Help Manual

Help pageTopics
Dynamic wrapping of R functions as C callbackscallback callback_is_active callback_last_error callback_status ccallback dyncallback print.callback_status
Allocation and handling of foreign C aggregate data types$.struct $<-.struct as.ctype cdata cstruct cunion print.ctype print.struct
Binding C library functions via thin call wrappersdynbind print.dynbind.report
Foreign Function Interface with support for almost all C typescall-signature dyncall dyncall.cdecl dyncall.default dyncall.fastcall dyncall.fastcall.gcc dyncall.fastcall.msvc dyncall.stdcall dyncall.thiscall dyncall.thiscall.gcc dyncall.thiscall.msvc dyncall_variadic type-signature
Portable searching and loading of shared librariesdynfind dynfind_explain
Loading of shared libraries and resolving of symbols (Alternative Framework)dyncount dynlist dynload dynpath dynsym dynunload
Dynamic R Bindings to standard and common C librariesdynport dynport_clear_lib dynport_install_package dynport_lib dynport_load_into
Utility functions for working with foreign C data typesas.externalptr as.floatraw floatraw floatraw2numeric is.externalptr is.nullptr offset_ptr print.floatraw ptr2str strarrayptr strptr
Handling of foreign C fundamental data typespack unpack
rdyncall demos: shared library notesrdyncall-demos
S3 class for run-time type information of foreign C data typesget_typeinfo print.typeinfo type-information typeinfo