ctypes.sh
dylibify
ctypes.sh | dylibify | |
---|---|---|
8 | 1 | |
2,018 | 34 | |
- | - | |
5.2 | 5.6 | |
6 months ago | over 1 year ago | |
C | Objective-C | |
MIT License | - |
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
dylibify
-
Shared Libraries as Executables
You can use dylibify for MachO and, IIRC, Witchcraft Compiler Collection for ELF.
https://github.com/jevinskie/dylibify/blob/jev/main/dylibify...
What are some alternatives?
Cython - The most widely used Python to C compiler
wcc - The Witchcraft Compiler Collection
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