Files
namespaces-in-c/README.md
2023-06-06 11:43:59 +02:00

508 B

Namespaces in C

In C you can create pseudo-namespaces by abusing structs of function pointers, making function calls look like module.func(x) instead of func(x).

A lot of people online spout that this creates overhead, but this should show that clang>=15.0.7 will still inline such function calls. GCC 11.3.1 is unable to inline the function, but will still call the function directly.

Build

./build.sh

Verify code

./build/main

Check disassembly

less dump.asm