草庐IT

compiler-warnings

全部标签

Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated....

前言最近学习Springboot,当编译一个练习项目的时候,出现了JavaHotSpot(TM)64-BitServerVMwarning:Options-Xverify:noneand-noverifyweredeprecatedinJDK13andwilllikelyberemovedinafuturerelease.这条警告 本来对项目运行没什么影响,但是无奈强迫症又犯了,于是折腾了一上午,终于解决了这条警告,简单记录一下过程。首先我们应该明白的是:-Xverify:no或者-noverify这两个都是JVM参数,可以禁止字节码校验,提高编译速度,但是就如同警告所说,这两个参数已经过时了

c++ - 是否存在 static_warning?

我知道thisquestion其中提到了Boost的“STATICWARNING”,但我想再问一次,具体来说,我如何实现一个static_warning,它的操作类似于static_assert但只发出一个在编译时发出警告,而不是中止编译错误。我想要类似于Alexandrescu在C++11之前提出的静态断言提案,它以某种方式设法打印一些有用的上下文信息作为错误的一部分。要求用户启用某些标准编译器警告以使此构造工作(可能是“无效指针转换”或“违反严格的别名规则”)是可以接受的——任何应该属于正常编译器的警告编译反正可以用。简而言之,我希望static_warning(false,"He

c++ - 为什么默认关闭 C4062 Visual C++ 警告?

根据MSDN,VisualC++可以发出C4062warning什么时候和枚举用于switch和该枚举中至少有一个元素没有标签,并且开关中没有default:标签现在对我来说,这种情况当然值得警告-有问题的元素很可能处理不当。如果无需为某些元素做任何事情-开发人员可以提供一个空的case或default。默认关闭此警告的原因可能是什么? 最佳答案 有些人(包括我自己)喜欢在构建时看到“0个警告”。如果你只是不处理少数情况,添加一个空案例可能没问题,但如果你正在使用一个输入库,它给你一个显示哪个键按下的枚举,你真的想要200多个空案例

c++ - 友元函数默认模板 : Intel ICPC warning

我有以下测试代码://friendfunction.h#includetemplateclassMyClass{templatefriendinlineconstMyClassmyFunction(constT1&x,constMyClass&y);};template::value>::type>inlineconstMyClassmyFunction(constT0&x,constMyClass&y){std::cout(y);}//friendfunction.cpp#include"friendfunction.h"intmain(intargc,char*argv[]){My

c++ - Python C++ 扩展 : compile only modified source files

我正在开发一个包含C++扩展的python包。当我使用setup.py脚本或使用pip安装包时,C++源文件都被编译和链接以获得单个.so库,然后可以将其导入Python源代码中。在开发过程中,我需要对源代码进行多次更改(测试、调试等)。我发现重新安装包涉及重建所有C++源文件,即使只更改了一个文件的一小部分。显然,这会占用相当多的时间。我知道放置源文件链接的开发模式(pythonsetup.pydevelop或pipinstall-e),以便在重新导入模块时立即看到所做的更改。但是,这仅适用于.py源文件而不适用于C++扩展,每次更改后都必须重新编译。有没有办法让setup.py查看

c++ - VS2013 : How to disable warnings for included header files outside of the project

在我的项目中,我包含了一个由外部库提供的头文件。使用/W3,所有内容都可以在没有警告的情况下编译。但是,我希望我的项目能够使用/W4进行干净地编译。这对我的代码来说没有问题,但外部header会发出大量警告。我知道我可以做这样的事情:#pragmawarning(push)#pragmawarning(disable:####)//includehere#pragmawarning(pop)但是有一长串要禁用的警告。有没有一种方法可以在包含此header时将警告级别设置回/W3,同时仍使用/W4编译我的其余代码?谢谢! 最佳答案 #

c++ - CMake "clang++ is not able compile a simple test program"(软呢帽 20)

所以我尝试安装clang+cmake来编译一个简单的C++程序,但出现以下错误:--TheCcompileridentificationisGNU4.8.3--TheCXXcompileridentificationisClang3.5.0--CheckforworkingCcompiler:/usr/bin/cc--CheckforworkingCcompiler:/usr/bin/cc--works--DetectingCcompilerABIinfo--DetectingCcompilerABIinfo-done--CheckforworkingCXXcompiler:/usr/

Python + setuptools : distributing a pre-compiled shared library with boost. python 绑定(bind)

我有一个C++库(我们在下文中将其称为示例),我使用boost.python库为其编写了Python绑定(bind)。这个Python包装的库将称为pyExample。整个项目是使用CMake构建的,生成的Python包装库是一个名为libpyExample.so的文件。当我使用与libpyExample.so位于同一目录中的Python脚本中的Python绑定(bind)时,我只需编写:importlibpyExamplelibpyExample.hello_world()这会执行包装过程公开的hello_world()函数。我想做什么为了方便起见,我希望我的pyExample库可以

c++ - C/C++ 不确定值 : Compiler optimization gives different output (example)

C/C++编译器(clang、gcc等)似乎产生了与优化级别相关的不同输出。您也可以查看本文中包含的在线链接。http://cpp.sh/5vrmv(将输出从无更改为-O3以查看差异)。基于下面的一段代码,有人可以解释我的几个问题吗:#include#includeintmain(void){int*p=(int*)malloc(sizeof(int));free(p);int*q=(int*)malloc(sizeof(int));if(p==q){*p=10;*q=14;printf("%d",*p);}return0;}是否确定执行将始终进入if语句?我们如何知道两个指针p和q的

CMake Warning (dev) at cmake/OpenCVDetectPython.cmake:140 (find_package): Policy CMP0148 is not set

1、原文在opencv编译的时候CMakeWarning(dev)atcmake/OpenCVUtils.cmake:144(find_package):PolicyCMP0148isnotset:TheFindPythonInterpandFindPythonLibsmodulesareremoved.Run"cmake--help-policyCMP0148"forpolicydetails.Usethecmake_policycommandtosetthepolicyandsuppressthiswarning.`CallStack(mostrecentcallfirst):cmake/