Comments (7)
Yeah cbindgen should definitely be able to handle this.
Finding static declarations won't be too challenging, the harder part is knowing which ones to output. Right now we only output declarations that are using by the FFI, but that won't work here.
I suppose we could just output all static items with #[no_mangle]
as they are all probably meant to be exported.
from cbindgen.
I suppose we could just output all static items with #[no_mangle] as they are all probably meant to be exported.
That's the behaviour I'd expect, I don't know of any reason for not mangling names other than for FFI export.
from cbindgen.
@eqrion what about const
?
from cbindgen.
@eqrion what about const?
I was about to open an issue for this, but looks like it's already been mentioned. I reckon const
statements should be converted to a #define
. This'll work fine for integers and strings, but I haven't put much thought into more complex types...
from cbindgen.
At least numbers support will be fine for now.
from cbindgen.
Fixed in 0.1.27. Please reopen if you're still having an issue with this.
from cbindgen.
Thanks 👍
from cbindgen.
Related Issues (20)
- Types not exported when using build script but CLI works HOT 2
- rename type by annotation HOT 1
- Modules inside cfg_if! macros aren't read / expanded (was: The C header file cannot be generated correctly.) HOT 2
- Incorrect (outdated?) `fetch_all_dependencies` config suggestion HOT 3
- derive-{eq,neq} doesn't account for #[cfg()]d fields.
- [Feature Request] GObject support HOT 2
- cbindgen emits constants in spite of no-export and/or ignore annotations HOT 6
- WARN: Skip unsupported call expression HOT 1
- Generate C packed struct HOT 2
- `defines` is not applied for impl const HOT 1
- How do I mark a struct variable volatile? HOT 1
- Feature request: transparent/erased typedefs HOT 1
- How to do Vec<String>?
- Macro generated functions are ignored in header generation HOT 2
- Linking to multiple ffi crates fails HOT 2
- incorrect typedef order with circular dependency
- Function parameter annotations
- New cbindgen release? HOT 3
- Add support for std::mem::offset_of HOT 1
- Incorrect equality operator generated with `derive_eq=true` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cbindgen.