Improved Foreign Function Interface and Dynamic Bindings to C Libraries
Overview
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.
- Make
dynunload()idempotent after explicit unloads so finalizers do not attempt to unload the same dynamic library handle twice (#71). - Restore the manual
R-hubworkflow sovalgrindchecks can start from GitHub Actions (#73).
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK12 OK2026-07-22
- ERROR5 OK, 1 ERROR2026-07-16
Documentation
The repository also keeps web-only articles.
- Help pages
- 12 (1 internal)includes a package overview page
- Examples that run
- 56%5 run in a plain check · 4 only when donttest examples are enabled (R CMD check --as-cran)
- Exported functions with examples
- 89%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 33%
Also includes 14 demo scripts (run with demo())
Downloads
Repository
- PRs merged (all time)
- 96%
- Median days to close, 50 most recently updated closed issues
- 4
- Median days to close, 50 most recently updated closed PRs
- 0
Releases over time
Issues over time
PRs over time
Commits over time
8 development-tooling and community-health practices detected across 4 families in the upstream repository
Checks run against github.com/hongyuanjia/rdyncall on 2026-10-21.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-10-12 · The repository has a site deploy workflow
Dependencies
Installing rdyncall adds no packages beyond those that come with R.
Code & Tests
People & History
Previously maintained by Daniel Adler (0.7.5).
Pick two releases to compare their code metrics.
- 0.10.2Latest
- 0.10.12026-07-16 · diff ↗
- unarchivedReturned to CRAN2026-07-15
- 0.10.02026-07-15 · diff ↗ ·
removed 22 exports
.dyncall, .dyncall.default, .dyncall.cdecl, .dyncall.stdcall, .dyncall.thiscall, .dyncall.thiscall.gcc, .dyncall.thiscall.msvc, .dyncall.fastcall, .dyncall.fastcall.gcc, .dyncall.fastcall.msvc, .dynload, .dynunload, .dynsym, new.struct, as.struct, parseStructInfos, parseUnionInfos, .pack, .unpack, new.callback, as.extptr, offsetPtradded 34 exports
as.ctype, as.externalptr, callback_is_active, callback_last_error, callback_status, ccallback, cdata, cstruct, cunion, 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, dyncount, dynfind_explain, dynlist, dynload, dynpath, dynport_clear_lib, dynport_install_package, dynport_lib, dynport_load_into, dynsym and 4 more - RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- RR 3.6.0 released · 2019-04-26
- RR 3.5.0 released · 2018-04-23
- RR 3.4.0 released · 2017-04-21
- RR 3.3.0 released · 2016-05-03
- RR 3.2.0 released · 2015-04-16
Show 6 earlier eventsHide 6 earlier events
- orphanedOrphaned by its maintainer2014-09-20vignette locations were never updated for R 3.1.0
- RR 3.1.0 released · 2014-04-10
- RR 3.0.0 released · 2013-04-03
- removedRemoved from CRAN2012-09-12policy violation on the use of .Internal calls
- 0.7.52012-09-12
- RR 2.15.0 released · 2012-03-30
Package metadata
- First published
- 2012-09-12
- Total releases
- 4 / 14 yrs
- License
- MIT + file LICENSE OSI · relicensed from BSD in 0.10.0
- Minimum R
- ≥ 3.0.0
- Download size
- 1.2 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("rdyncall")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-24, which the citation names so these numbers can be found later. More on citing and the projects behind them.