view R/dynport.rnw @ 46:c21d1c2c84e1

- removed pydc.py wrapper overhead (which only called pydcext.so functions, directly, anyways) * implies renaming pydcext.* to pydc.* * while at it, iterate directly over args that are passed in (before we did extract fptr, sig and a tuple for the args and iterated over latter afterwards); we might have a tiny perf improvement now - added type stub as package_data
author Tassilo Philipp
date Fri, 13 Nov 2020 14:10:31 +0100
parents 0cfcc391201f
children
line wrap: on
line source

% \VignetteIndexEntry{Dynamic R Binding to shared C libraries in a portable way}
% \VignetteKeyword{dynport}
% \VignetteKeyword{bindings}
\documentclass{article}
\usepackage{url}
\begin{document}
\title{Dynports: Dynamic R Bindings of shared C libraries in a portable way}
\author{Daniel Adler}
\maketitle

\section{Introduction}

A \emph{dynport} is mapped in R as a dynamically created R namespace 
containing wrapper functions, constants and type information objects 
(used in conjunction with utility functions from the package) to gain 
control over a large range of functionality offered by system service
and binary components.
These bindings can be written by hand but - as these are
very structured using formal signatures - this process
is also automated.
Here is a list of dynports for the initial release:

\begin{tabular}{lll}
dynport   & library     & details\\
\hline
GL        & OpenGL 1.0  & Portable 3D Graphics System Library \\
glew      & GL Extension Wrangler & Provides OpenGL 3.0 \\
SDL       & Simple DirectMedia Layer & Multimedia and user-interface. \\
SDL\_ttf   & SDL Font Rendering Library & True Type Font Rendering \\
SDL\_image & SDL Image I/O Library & Image Loading and Saving in many formats \\
\end{tabular}

\end{document}