Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/olivier-boudeville/ceylan-seaplus
Part of the Ceylan project gathering facilities to better integrate C/C++ code to Erlang.
https://github.com/olivier-boudeville/ceylan-seaplus
c c-plus-plus ceylan erlang integration
Last synced: 2 days ago
JSON representation
Part of the Ceylan project gathering facilities to better integrate C/C++ code to Erlang.
- Host: GitHub
- URL: https://github.com/olivier-boudeville/ceylan-seaplus
- Owner: Olivier-Boudeville
- License: lgpl-3.0
- Created: 2019-01-18T18:49:58.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-15T09:23:25.000Z (5 months ago)
- Last Synced: 2024-06-15T10:32:22.560Z (5 months ago)
- Topics: c, c-plus-plus, ceylan, erlang, integration
- Language: Erlang
- Homepage: http://seaplus.esperide.org
- Size: 5.87 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Erlang CI](https://github.com/Olivier-Boudeville/Ceylan-Seaplus/workflows/Erlang%20CI/badge.svg)
# Ceylan-Seaplus
![](/doc/seaplus-title.png)
This repository corresponds to the part of the [Ceylan project](https://github.com/Olivier-Boudeville/Ceylan) gathering facilities introduced in order to **better integrate C/C++ code to Erlang**.
This binding relies on a **port** (not a NIF) based on a **C-Node** and the standard **ei** (formerly: Erl_Interface), so that the integrated C/C++ code cannot jeopardise the operation of the Erlang VM (hence at the cost of a few message exchanges, yet with a low overhead, marshalling/demarshalling having to happen anyway).
**A parse transform is used in order to ease the definition of both sides** (Erlang and C) of the corresponding driver (generating the former integrally, and the latter partially; moreover a C library gathering higher-level primitives is provided in order to facilitate the development of the rest of the C side).
A complete, functional example of a service to integrate is provided (see the [foobar test C project](https://github.com/Olivier-Boudeville/Ceylan-Seaplus/tree/master/tests/c-test/foobar)).
Please refer to the [Seaplus official documentation](http://seaplus.esperide.org), otherwise to its [mirror](http://olivier-boudeville.github.io/Ceylan-Seaplus/).
The 'master' branch corresponds to the current stable version of this layer.
Ceylan-Seaplus relies on [Ceylan-Myriad](https://github.com/Olivier-Boudeville/Ceylan-Myriad).