Вот мой .cfgCppcheck не может проверить третьи параметры?
<?xml version="1.0"?>
<def format="1">
<function name="wcscpy_s">
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
</def>
И я использую его, чтобы проверить удар файла CPP.
int main() {
char a[100];
wcscpy_s(
a,
a,
a);
}
И ошибка:
D:\staff>cppcheck D:\staff\test.cpp --library=my.cfg
Checking D:\staff\test.cpp...
[D:\staff\test.cpp:4]: (error) Uninitialized variable: a
[D:\staff\test.cpp:5]: (error) Uninitialized variable: a
Очевидно, что не найти третий параметр, это неинициализированное тоже. Я изменил файл следующим образом:
int main() {
char a[100];
wcscpy_s(
1,
1,
a);
}
И это не показывает ошибку сейчас. Так что я очень смущен. Cppcheck не может проверить третьи параметры?
О мой бог, который думал, что это хорошая идея, чтобы описать функции C++ с использованием XML? – ThiefMaster
Это очень здорово, что Cppcheck знает, как работают функции. xml - это формат, который имеет неплохую поддержку инструмента. –
Я думаю, вы согласны, что это хорошо. Cppcheck знает, как работают функции. Итак, как мы можем настроить работу wcscpy_s. Я не думаю, что есть много альтернатив. –