oc
Macro magic for declaring/calling Objective-C APIs from C11 or C++. Preloads selectors, chooses the correct objc_msgSend to call per method/platform. (by garettbass)
objrs
Mirror only (by objrs)
oc | objrs | |
---|---|---|
2 | 1 | |
45 | 3 | |
- | - | |
10.0 | - | |
almost 5 years ago | over 4 years ago | |
C | Rust | |
MIT License | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
oc
Posts with mentions or reviews of oc.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-19.
-
C-Macs – a pure C macOS application
Here's something similar by Garret Bass:
https://github.com/garettbass/oc
...I also experimented a bit with parsing macOS system headers via clang-ast-dump and then code-generating C and Zig APIs but that didn't get far:
https://github.com/floooh/objc-ast-experiments
...with a bit of effort and maybe using libclang instead of clang-ast-dump that's definitely feasible though.
I guess a similar approach is used by the official C++ bindings for Metal:
https://developer.apple.com/metal/cpp/
-
Space-shooter.c: cross-platform, top-down 2D space shooter written in C
Metal can be called from C by going directly through the Objective-C runtime, but it requires either macro magic (like: https://github.com/garettbass/oc/), or code-generated C headers.
But it's not a big deal to move all the ObjC code into a separate .m source file and expose a smaller and higher level C API.
objrs
Posts with mentions or reviews of objrs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-19.
-
C-Macs – a pure C macOS application
If you want to optimize this (and you enjoy pain), you can eliminate the dependency on objc/* headers and use compiler attributes and link sections to compile your code to the same(ish) assembly that Objective-C compiles to. I don't have a C example on hand, but here's a Rust example that's pretty easy to translate to C: https://github.com/objrs/objrs/blob/master/HOW_IT_WORKS.md