извините заранее, если я использую плохую терминологию.
когда я компилирую приложение C++ под gdb и использую printf(), оно дает мне потрясающие предупреждения, касающиеся согласованности строки формата и переданных аргументов.
например, этот код:
printf("%s %s", "foo");
приводит к предупреждению компилятора «слишком мало аргументов для формата», что очень полезно. он также выдаст предупреждения о типе строки формата и типе аргумента. он должен был проверить строку формата и сравнить ее с предоставленными типами аргументов. - этот вид интроспекции во время компиляции можно добавить к обычному исходному коду или это то, что нужно скомпилировать в сам gcc?
fwiw это под gcc 4.2.1 на os x.