C++? C? an file with a new extension?
The officially supported language is Rust, and is the language covered by the tutorials here:
https://dreambox3d.dev/getting_started
However, Dreambox games use WASM binaries, and so technically anything that compiles to WASM can also be used (including C or C++ via Emscripten). In fact, a set of C headers are provided in the Downloads section which you can reference to link to Dreambox APIs.
However, it is worth keeping in mind that rather than taking a raw WASM file, Dreambox games actually consume CD ISO files, which embed a "main.wasm" in the root directory and any other files referenced by the game, so the C/C++ route will involve some extra steps to bundle everything as an ISO file. Meanwhile, the Rust tools provided above will handle all of these details for you
The ISOs that Dreambox expects are just regular old ISO-9660 .iso files, exactly the same as you'd burn to a CD-R. The only requirement is that the ISO file should have the "main.wasm" file located in the root directory.
There's a few utilities you can use to make ISO files. If you are ok with installing cargo, you can use that to install the "mkisofs-rs" utility and use that to bundle your ISO files, which is what the Rust toolchain for Dreambox uses under the hood.