Mercurial > pub > dyncall > dyncall
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 |