简介Cppcheck是一个用于C/C++代码的静态分析工具,它可以帮助开发者检测代码中的错误。Cppcheck可以检测出许多类型的错误,包括语法错误、未使用的函数、内存泄漏、未初始化的变量等。此外,Cppcheck还支持用户自…
< OK value */} my_enum_t;/** * \brief Check some value * \return \ref MY_OK on success, member of \ref my_enum_t otherwise */my_enum_tcheck_value(void){return MY_OK;}对常量或数字使用符号(' NULL ' => NULL)/** * \brief Get data from input array * \param[in]...
复杂的数据结构:如果程序使用了复杂的数据结构(例如,链表、树、图等),并且内存管理逻辑也很复杂,Cppcheck可能无法准确地检测出内存泄漏。 间接的内存泄漏:如果内存泄漏是通过间接的方式发生的(例如,通过函数指针、虚函数、回调函数等),Cppcheck可能无法检测出它。 外部库和系统API:如果内存泄漏是由于错误使用外部库或...
CERT.PUTENV.AUTO_VARIABLE 不要使用指向自动变量的指针作为参数来调用 putenv() 4 False 2022.1 CERT.STDLIB.SIGNAL 不得从计算异常信号处理程序返回 4 False 2022.2 CERT.VA_ARG.TYPE 不要通过类型错误的参数来调用 va_arg 4 False 2022.2 CERT.VA_START.TYPE 将类型正确的对象传递给 va_start 4 False 2022.2...
Variable c used before definition Suspected infinite loop. No value used in loop test (c) is modified by test or loop body. Assignment of int to char: c = getchar() Test expression for if is assignment expression: c = 'x' Test expression for if not boolean, type char: c = 'x' ...
缓存变量可以通过$CACHE{<name>} 语法来引用,而设置一个缓存变量使用set(<variable> <value> CACHE <type> <docstring> [FORCE])指令,与用于普通变量的set() 指令相比,缓存变量的设定中有一些必需参数和关键字(CACHE &FORCE)。与环境变量不同的是,缓存变量是CMake进程在配置阶段收集相关信息后存储在在构建树中...
//macOS,XCodeintprintf(constchar* __restrict, ...)__printflike(1,2);//Windows,Visual Studio_Check_return_opt_ _CRT_STDIO_INLINEint__CRTDECLprintf( _In_z_ _Printf_format_string_charconst*const_Format, ...)intprintf(constchar* format , [argument] ... ); ...
Check if there is 64-bit portability issues: assign address to/from int/long Auto Variables A pointer to a variable is only valid as long as the variable is in scope. Check: returning a pointer to auto or temporary variable assigning address of an variable to an effective parameter of a ...
Check: returning a pointer to auto or temporary variable assigning address of an variable to an effective parameter of a function returning reference to local/temporary variable returning address of function parameter Boost usage Check for invalid usage of Boost: container modification during BOOST_FOR...
printf("%32.30Lf\n", *ptr_ld_var); // Check the Output return 0; } 5.000010000200003190684583387338 [wenxue@hpi7 hellvsc]$ 练习中 ld_var 的地址被分配给 ptr_ld_var 指针。为了得到该地址中存储的值, 使用*ptr_ld_var。 备注:在例子中,ptr_ld_var是一个指针,而不是 “ *ptr_ld_var”。您...