notcursesada
inotify-ada
notcursesada | inotify-ada | |
---|---|---|
1 | 1 | |
11 | 8 | |
- | - | |
1.5 | 0.0 | |
about 1 year ago | almost 2 years ago | |
Ada | Ada | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
notcursesada
-
Gnat 2021 GPL Community Edition Ada 202x compiler released
* Is there a way to declare data layouts to have compatibility with C, similar to #[repr(C)] in rust?
Yes, and if you have a C header file, gcc can even translate most struct definitions for you. Here's an example of a "thin" binding generated that way: https://github.com/JeremyGrosser/notcursesada/blob/master/sr...
* Is there a way to catch C++ exceptions?
Yes. https://www.adacore.com/gems/gem-114-ada-and-c-exceptions
* Is there a way to catch C longjmps()?
By default, the GNAT runtime uses setjmp/longjmp to implement exceptions. I'm not sure how you'd connect that to a C library's setjmp though.
* Is there a way to have some kind of custom control over ABI issues, e.g. define custom FFIs to langauges with a different ABI? Or anything close to this? For that matter, does any language have something like this or does it not make sense?
ABIs are selected with the Convention aspect. Conventions are implementation defined and would require patches to the compiler to add new ones. GNAT currently supports Assembler, C, CPP, COBOL, and Fortran calling conventions.
inotify-ada
-
Gnat 2021 GPL Community Edition Ada 202x compiler released
The C interoperability of Ada is very good, you can import/export functions and specify whether records (structs) and arrays must have a C convention. I use it often to access libc and Linux kernel functions/syscalls [1][2].
[1] https://github.com/onox/inotify-ada
What are some alternatives?
adaspark
pico_examples - Ada examples for the Raspberry Pi Pico
sdlada - Ada 2022 bindings to SDL 2 - Don't STAR this, this is my personal repo which I may delete over using the AGF one.
evdev-ada - An Ada 2012 library to read input events and use force-feedback using Linux' evdev API