dipende, non è il linguaggio che crei, ma il compilatore.
Il primo compilatore C fu fatto naturalmente in asm, l'unica cosa che raggiungeva un certo equilibrio tra semplicità di comprensione umana potenza nell'interfacciarsi con l'hw. Quando il C divenne lo strumento a quell'epoca più usato, più stabile ecc... ed hanno inventato il C++ hanno modificato il compilatore C, oppure hanno scritto totalmente un nuovo compilatore, ma non più in asm, in C visto che era a disposizione. Quando dopo hanno inventato Java oltre un compilatore, in C/C++ a questo punto, hanno fatto anche un interprete sempre in C/C++. Però è sempre stato possibile inserire un po di inline assembler, quando si deve andare molto in basso col livello di astrazione.

Per creare nuove funzioni, o modifichi il compilatore o se intendi creare nuove api basta che le scrivi tu e le dai a disposizione ad altri developers sotto forma di sorgenti o di precompilati.