Add README

This commit is contained in:
olemorud
2023-06-06 11:43:59 +02:00
parent 0c33a58da0
commit c39340194e

26
README.md Normal file
View File

@@ -0,0 +1,26 @@
# 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
```sh
./build.sh
```
## Verify code
```
./build/main
```
## Check disassembly
```
less dump.asm
```