Hacker News new | past | comments | ask | show | jobs | submit login

> The only hack I could think of is having the compiler front end generate calls to different functions based on the content of the format string

Compilers do that, at least for the simple case of constant strings; gcc can compile a printf call as puts. See https://stackoverflow.com/questions/60080021/compiler-change...






That's the only one I've ever seen, and it's really just checking for the absence of '%'.

What if it could convert:

printf("parsed: %s to %i\n", x, y);

To:

puts("parsed: "); puts(x); puts(" to "); _puti(y); putc('\n');

Well. Then we'd have a lot more function calls overhead. Maybe something like:

_printf_nofloat("parsed: %s to %i\n", x, y);


It’s not the only one it uses.

It also removes calls to printf("") and changes single character printf calls to putchar calls

See https://github.com/gcc-mirror/gcc/blob/ef32bd8c866a1b8a97f62...




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: