ctypes.sh
tsh
ctypes.sh | tsh | |
---|---|---|
8 | 1 | |
2,018 | 11 | |
- | - | |
5.2 | 10.0 | |
6 months ago | over 10 years ago | |
C | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ctypes.sh
- ctypes.sh: A foreign function interface for bash (2023)
- Ctypes.sh: A foreign function interface for bash
- Writing a Minecraft server from scratch in Bash (2022)
- A foreign function interface for bash
-
Goto in Bash
It's a funny trick, but you could probably also use setjmp and longjmp with ctypes.sh :-)
https://github.com/taviso/ctypes.sh
- Ctypes.h: A foreign function interface for bash
-
Shared Libraries as Executables
rundll32.exe is just a way of doing FFI from as a command -- there are few different options on UNIX-likr systems for that. The most obvious is ctypes.sh [0].
There are, though, even more sophisticated options than just FFI, like the Witchcraft Compiler Collection [1], which includes among other things an interactive shell.
[0] https://github.com/taviso/ctypes.sh
[1] https://github.com/endrazine/wcc
tsh
-
Goto in Bash
This reminds me of the Thompson shell goto, which is an externel(!) program that messes with its parent's file descriptors looking for `: label`. (A more inert label syntax RIGHT THERE!)
See manpage at https://etsh.nl/man/_goto.1.html and source code at https://github.com/eunuchs/tsh/blob/master/goto.c.
What are some alternatives?
Cython - The most widely used Python to C compiler
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
cppimport - Import C++ files directly from Python!
nelson - The Nelson Programming Language
V8 - The official mirror of the V8 Git repository
libffi - A portable foreign-function interface library.
JavaCPP - The missing bridge between Java and native C++
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
nbind - :sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket:
v8pp - Bind C++ functions and classes into V8 JavaScript engine
CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages
luacxx - C++11 API for creating Lua bindings