例如:
long long a = ....; int b; b = (int) a;
是否有gcc标志或Sonarqube这样的静态分析工具可以检测到这种情况?
搜索显式类型转换是一个奇怪的任务。开发人员显然意味着他想使用显式类型转换“截断”高位。但是,我敢说这个任务实际上是不同的:必须将32位应用程序移植到64位平台。在这种情况下,是的,检测危险的显式类型转换是非常相关的任务。如果是这样,那就有解决方案。在PVS-Studio分析仪中有一组与端口相关的特殊诊断。示例: