comparison doc/manual/manual_bindings.tex @ 467:b47168dacba6

manual: - adding aggregate passing and returning info for x64 (win and sysv, however, *only* w/ respect to types supported by dyncall) - python binding text cleanup and sync with current binding version - added suite_aggrs description and cleaned up other test suite descriptions a bit - update list of calling convention modes - cleanup and minor other fixes (e.g. changed \newpage in many places to \clearpage to avoid hitting float limit, crlf->cr, ...)
author Tassilo Philipp
date Fri, 04 Feb 2022 23:54:42 +0100
parents 32736025371f
children 17287342e273
comparison
equal deleted inserted replaced
466:ddfb9577a00e 467:b47168dacba6
15 % ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 % ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 % OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 % OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 % 17 %
18 %////////////////////////////////////////////////////////////////////////////// 18 %//////////////////////////////////////////////////////////////////////////////
19 19
20 \newpage 20 \clearpage
21 \section{Bindings to programming languages} 21 \section{Bindings to programming languages}
22 22
23 Through binding of the \product{dyncall} library into a scripting environment, 23 Through binding of the \product{dyncall} library into a scripting environment,
24 the scripting language can gain system programming status to a certain degree.\\ 24 the scripting language can gain system programming status to a certain degree.\\
25 The \product{dyncall} library provides bindings to Erlang\cite{Erlang}, Java\cite{Java}, 25 The \product{dyncall} library provides bindings to Erlang\cite{Erlang}, Java\cite{Java},
232 232
233 233
234 \subsection{Python language bindings} 234 \subsection{Python language bindings}
235 235
236 The python module {\tt pydc} implements the Python language bindings, 236 The python module {\tt pydc} implements the Python language bindings,
237 namely {\tt load}, {\tt find}, {\tt free}, {\tt call}. 237 namely {\tt load}, {\tt find}, {\tt free}, {\tt call}, {\tt new\_callback}, {\tt free\_callback}.
238 238
239 \begin{table}[h] 239 \begin{table}[h]
240 \begin{center} 240 \begin{center}
241 \begin{tabular*}{0.75\textwidth}{lll} 241 \begin{tabular*}{0.75\textwidth}{lll}
242 Signature character & accepted Python 2 types & accepted Python 3 types \\ 242 Signature character & accepted Python 2 types & accepted Python 3 types \\
243 \hline 243 \hline
244 \sigchar{v} & no return type & no return type \\ 244 \sigchar{v} & no return type & no return type \\
245 \sigchar{B} & bool & bool \\ 245 \sigchar{B} & bool & bool \\
246 \sigchar{c}, \sigchar{C} & int, string (with single char) & int, string (with single char) \\ 246 \sigchar{c}, \sigchar{C} & int, string (with single char) & int, string (with single char) \\
247 \sigchar{s}, \sigchar{S} & int & int \\ 247 \sigchar{s}, \sigchar{S} & int & int \\
248 \sigchar{i}, \sigchar{I} & int & int \\ 248 \sigchar{i}, \sigchar{I} & int & int \\
249 \sigchar{j}, \sigchar{J} & int & int \\ 249 \sigchar{j}, \sigchar{J} & int & int \\
250 \sigchar{l}, \sigchar{L} & int, long & int \\ 250 \sigchar{l}, \sigchar{L} & int, long & int \\
251 \sigchar{f} & float & float \\ 251 \sigchar{f} & float & float \\
252 \sigchar{d} & double & double \\ 252 \sigchar{d} & float & float \\
253 \sigchar{p} & bytearray, int, long & bytearray (mutable in C), int \\ 253 \sigchar{p} & bytearray, int, long, None, (PyCObject, PyCapsule) & bytearray, int, None, (PyCObject, PyCapsule) \\
254 \sigchar{Z} & string, unicode, bytearray & string, bytearray (all immutable) \\ 254 \sigchar{Z} & string, unicode, bytearray & string, bytes, bytearray \\
255 \end{tabular*} 255 \end{tabular*}
256 \caption{Type signature encoding for Python bindings} 256 \caption{Type signature encoding for Python bindings}
257 \label{Pysigchar} 257 \label{Pysigchar}
258 \end{center} 258 \end{center}
259 \end{table} 259 \end{table}
260 260
261 For more details, refer to the README.txt file of the binding. 261 This is a very brief description that omits many details. For more, refer to the README.txt file of the binding.
262 262
263 \pagebreak 263 \pagebreak
264 264
265 \subsection{R language bindings} 265 \subsection{R language bindings}
266 266