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