草庐IT

DEPRECATED_MACRO

全部标签

java - Java 中的 OpenCv : DescriptorExtractor is deprecated. 我该用什么代替?

我有一些使用OpenCV(Java包装器)将2张图像拼接在一起的示例代码。它指的是已弃用的类“DescriptorExtractor”。我在官方网络文档或源代码中找不到任何关于我应该使用什么的信息。当某些东西被弃用并且它没有告诉您应该使用什么来代替时,我总是很生气。谁能帮帮我?我正在使用OpenCV3.4.1和预建的Windows库。该类的官方文档似乎是here.“FeatureDetector”类同样被弃用,同样没有任何关于使用什么的提示。 最佳答案 我同意Java中的Deprecated注释应该带有一个必需的参数,该参数将提供有

java - @Deprecated 对方法参数和局部变量意味着什么?

免责声明:我知道@Deprecated的含义和目的.@Deprecated的定义注释在Java的源代码中看起来像这样:@Documented@Retention(RetentionPolicy.RUNTIME)@Target(value={CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,PARAMETER,TYPE})public@interfaceDeprecated{}我理解目标值为CONSTRUCTOR的目的,FIELD,TYPE,METHOD和PACKAGE.但是,将方法参数或局部变量标记为@Deprecated是什么意思??奇怪

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++ - 修改 qmake 文件以构建多个目标以与 '#IFDEF macro' 一起使用

我想修改我的Qt项目的qmake文件,使其构建我的程序的两个版本:一个定义了SOME_FLAG,一个没有定义。根据#ifdefSOME_FLAG的结果,我的代码会有不同的行为。这可能吗? 最佳答案 据我所知,qmake只允许一个TARGET,只有一个异常(exception)。也就是说,如果您想要构建调试版本和发布版本,则可以使用相同的项目文件来构建两者。这样,您还可以分别为每个构建指定DEFINES。请记住,您可以在事后使用strip命令删除调试,也许这对您的情况有用。Qt4HTML文档(查看它们是否安装在您的系统上)描述了qma

c++ - 无法实现接口(interface)的 [[deprecated]] 方法

我想将我界面的某些方法标记为已弃用。为了向后兼容,我需要在一段时间内支持旧方法。//myowninterfaceforotherinterfaceI{[[deprecated("use'bar'instead")]]virtualvoidfoo()=0;};但是VisualStudio2015不允许我实现这个接口(interface)://myownimplementationclassIImpl:publicI{public:virtualvoidfoo()override;//heregoeswarningC4996://'I::foo':wasdeclareddeprecated

c++ - OpenGL 'deprecated' 功能可能不受支持吗?

我正在使用glDrawPixels进行测试,以便将我的简单像素绘制2D游戏从WindowsAPI移植到带有GLFW的OpenGL。它运行良好,FPS超过100,而且是跨平台的。只有一件事让我有点恼火,那就是我使用了一个已弃用的功能。我现在没有看到任何问题,但这可能会成为future的问题吗?glDrawPixels会突然被移除吗?我所需要的只是winapi的CreateWindow和BitBlt的跨平台替代方案。 最佳答案 我想延长articleaboutdeprecationintheOpenGLwiki已经在评论中给出了。目前的

c++ - 将宏名称传递给 X-Macro 列表是否合法

我想到以下是X-macro的更可取的样式技巧:#defineLIST_OF_COLOURS(X)\X(RED)\X(GREEN)\X(BLUE)#defineLIST_OF_FRUIT(X)\X(APPLE)\X(ORANGE)\X(TOMATO)具体来说,将X宏传递给列表,而不是在每次实例化列表时取消定义并重新定义它。这允许:#defineX_LIST(x)x,#defineX_STRING_LIST(x)#x,#defineCOMPREHENSIVE_SETUP(n,l)\enumn{l(X_LIST)};\charconst*n##Names[]={l(X_STRING_LIST

c - 我怎样才能与 C 预处理器连接两次并扩展一个宏,如 "arg ## _ ## MACRO"?

我正在尝试编写一个程序,其中一些函数的名称取决于某个宏变量的值,宏变量如下:#defineVARIABLE3#defineNAME(fun)fun##_##VARIABLEintNAME(some_function)(inta);不幸的是,宏NAME()把它变成了intsome_function_VARIABLE(inta);而不是intsome_function_3(inta);所以这显然是错误的做法。幸运的是,VARIABLE的不同可能值的数量很少,所以我可以简单地执行#ifVARIABLE==n并分别列出所有情况,但是有没有聪明的方法来做到这一点? 最

c++ - Visual Studio 2017 是否完全支持具有 [[deprecated]] 属性的 N4266?

我目前正在研究C++17的新特性。我偶然发现了这个功能N4266,它指出现在枚举和命名空间也可以使用属性。不同消息来源称,VisualStudio2017已经完全支持该功能。我用[[deprecated]]属性编写了一个测试。对于namespace,这非常有效。但是,不会为枚举生成警告。我的实现有错误吗?我错过了什么吗?enumMyEnum{val=0,vaal[[deprecated]]=val};voidtest(){MyEnume=MyEnum::vaal;//ShouldemitWarning,butdoesnotMyEnume2=MyEnum::val;//NoWarning

c++ - scanf/字段长度 : using a variable/macro, C/C++

如何在使用scanf时使用变量来指定字段长度。例如:charword[20+1];scanf(file,"%20s",word);此外,使用20+1是否正确(因为它需要在末尾添加\0?)。相反,我想要这样的东西:#defineMAX_STRING_LENGTH20然后charword[MAX_STRING_LENGTH+1];scanf(file,"%"MAX_STRING_LENGTH"s",word);//what'sthecorrectsyntaxhere..?这可能吗?如果它是一个变量怎么样:intlength=20;charword[length+1];scanf(file,