Note
This section is coming soon. All contributions are welcome, just submit a pull request!
The core testcontainers-bridge shared library is built with Cgo.
For that the -buildmode=c-shared is used in the Golang builder,
and it also receives a customized header so that the types can be mapped between C and Golang.
We also have to flatten the structure and to switch the reference-based build process to fixed Objects stored in the Golang namespace, and C API
using unique object IDs.
As Cgo cannot produde fancy headers and structure, we have a manually created header file that wraps core functionality of tescontainers-bridge.
This provides a static library and header files that can be used natively in C/C++ development, or by language bindings.
Then, we build custom binding libraries, by using Testcontainers for C as a static library that is bundled into the language specific libs. This stage depends on the language and common practices there.
Well, you build it. From the previous stages, you get a header file, binding libraries, a shared library object or a DLL file from the Testcontainers for C module. Then, you know the drill.
