Embind and Emscripten: Blending C++11, JavaScript, and the Web Browser
summary
Explains concrete tooling and results: Emscripten compiles C++ to asm.js (~half native speed) and Embind exposes C++ libraries to JavaScript with a tiny implementation (three headers), using C++11 constexpr and variadic templates to emit compact runtime binding code. Covers bi‑directional calls, value types to avoid manual deletes, and wire‑type framing; reports 175 kilobytes saved from light type ids and about 200 nanoseconds overhead per cross‑language call. Shows working IMVU ports, WebGL and WebAudio examples.
AI-written summary · about
chapters (25)
- 0:00Start
- 4:01Conclusion
- 4:38What Asm Js Is
- 5:02Memory Space
- 5:36Resources
- 9:39What Is Embind
- 13:12Implementation
- 13:42Inscription Bindings
- 14:58Javascript Properties
- 15:32Constants
- 15:48Overloading
- 17:06How You Bind Enumerations
- 18:00Manual Memory Management
- 24:09Common Wire Types
- 27:35C plus plus 11 Techniques
- 27:51Why Is Code Size Important with Mscriptin
- 30:04Function Table Signature Strings
- 30:37Generate a Compile Time String Literal
- 32:44Arg Types Array
- 34:42Polymorphic Pointers
- 35:35Light Mechanism
- 37:44Bind Overloads
- 40:43Select Overload To Take Pointers to Members
- 44:02Performance of Calling Javascript from C
- 50:14Is It Possible To Have Windows Apis








