Comments (13)
We'd like bindings for as many languages as possible, and C would make sense to have. That said, since FlatBuffers derives its performance from being a super-thin inline-able layer, supporting a new language isn't a case of making "bindings" for flatbuffers.h, it is more like re-implementing flatbuffers.h (and providing a idl_gen_lang.cpp similar to idl_gen_cpp.cpp), which is a fair bit of work to do properly.
from flatbuffers.
Is anyone working on this? I've started working on this and I've created an idl_gen_c.cpp and added the necessary code to flatbuffers.h and to flatc.cpp. The code generation piece is far from finished, but I was wondering if anyone is already working on this functionality.
from flatbuffers.
Noone is working on this as far as I know, and I'd be happy to take a PR if what you're making conforms to the standards of what's already there.
What I am wondering about is flatbuffers.h, since it has tons of C++ top to bottom, adding C functionality sound to me like a LOT of ifdefs. Wouldn't a separate header for C make more sense?
Feel free to point me to the code you have so far, so I can maybe comment on it.
from flatbuffers.
C binding is very important for some special cases like iOS SDK prior to iOS 5.0, which doesn't support c++11. I'm also wondering if i could help to add a C binding.
from flatbuffers.
yynil: if you want to help, check with diffuse above if there's something you can do.
from flatbuffers.
Given Go's simplicity (i.e. lack of expressivity), the Go port might be a good point from which to begin writing the C port. The C++ version is more concise and thus maybe harder to port.
from flatbuffers.
I've had a little more time to work on the C binding. I am working on creating a C version of flatbuffers.h. It will exist as flatbuffers_c.h. I will be creating a fork within the next week so I can start getting some input for the C binding.
from flatbuffers.
Good news! :)
from flatbuffers.
I haven't worked on the C binding in a long while. I don't see me completing it any time soon as I have become too busy. Perhaps when I get some downtime I can begin work on it again.
from flatbuffers.
Ok, good to know. Just note on this issue if you do work on it again.
from flatbuffers.
Do you know if anyone else is working a C port?
On Mon, Jan 5, 2015 at 5:38 PM, gwvo [email protected] wrote:
Ok, good to know. Just note on this issue if you do work on it again.
—
Reply to this email directly or view it on GitHub
#7 (comment).
from flatbuffers.
https://github.com/dvidelabs/flatcc just released
from flatbuffers.
@mikkelfj Interesting!
from flatbuffers.
Related Issues (20)
- Question on using Flatbuffers for high performance research application
- Rust: FlatBuffers are impossible to return from functions
- Is it binary-compatible to delete (required) attribute?
- [Python] Use 'T' suffix object for serialization
- [swift] distinguish unknown from absent enum value for scheme evolution HOT 5
- undocumented breaking change GenerateText->GenText
- [Java, FlatBuffers 23.5.26, Mac OS 14.3] getByKey returns null while accessing using vector index works
- `get_root_as_*` functions not generated [Rust, 23.5.26, Linux] HOT 1
- Generating schemas with language adapters (as optional add-ons)?
- Streaming flatbuffers in java HOT 1
- [TS] optional escalar not set in the binary when it holds value 0 HOT 13
- Release a new version, please HOT 1
- Default value of 0 for field is not part of [optional] enum (java)
- Buffer generated in python gets rejected by flatcc [Python / C, Flatbuffer 23.5.26]
- Invalid Code generation if Property has same name as Struct [Windows/C#/24.3.7]
- v24.3.7 of Rust crate not released to crates.io HOT 4
- [v24.3.7] Rust: push_u8_u64_alignment test fails on i686 target (Ubuntu 22.04, CentOS 9)
- How to print nested table using FlatBufferToString?
- [Python] Flatc stub compatibility with gRPC asyncio Interface
- [Rust] Add better support for "crate-per-schema" HOT 2
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 flatbuffers.