In general, if you're relying on static initialization to run at a specific time or in a specific order, you've probably done something horribly wrong in your architecture.
I just feel like you have less visibility into the asm that's going to come out of the CPP code vs the C code. I guess that's why it's higher level. For the kernel, though, that would be bad for performance and predictability. I think.
In general, if you're relying on static initialization to run at a specific time or in a specific order, you've probably done something horribly wrong in your architecture.
That is true.
I just feel like you have less visibility into the asm that's going to come out of the CPP code vs the C code. I guess that's why it's higher level. For the kernel, though, that would be bad for performance and predictability. I think.