草庐IT

AT指令

全部标签

c++ - 如何访问/修改 OpenCV 中的矩阵元素?为什么 at() 被模板化?

我应该知道Mat元素类型以正确使用at()吗?例如,如果我有Matrose=Mat(1,180,CV_64F,0);那我可以打电话吗rose.at(i,j)++;如果不是,那么我应该使用哪个模板参数?为什么Mat::at是模板化的而Mat本身不是?更新这个问题包含带有另一个错误的示例代码,现在在这里:HowtofillMatrixwithzerosinOpenCV? 最佳答案 正如William已经正确指出的那样,您应该只提供正确的类型作为at的模板参数。我相信cv::Mat本身并不是为了简化而制作的模板。然而,OpenCV工作人员

c++ - 如何检查编译后的代码是否使用了 SSE 和 AVX 指令?

我写了一些代码来做一堆数学运算,它需要运行得很快,所以我需要它来使用SSE和AVX指令。我正在使用带有标志-O3和-march=native的g++编译它,所以我认为它使用的是SSE和AVX指令,但我不确定。我的大部分代码如下所示:for(inti=0;i有什么方法可以判断我的代码(编译后)是否使用SSE和AVX指令?我想我可以看汇编看看,但我不会汇编,我不知道如何查看编译器输出的汇编。 最佳答案 在Linux下,您还可以反编译您的二进制文件:objdump-dYOURFILE>YOURFILE.asm然后找到所有SSE指令:awk

windows - 使用 MakeCab.exe & .ddf 文件(即使用指令文件)如何指定 objective-c ab 文件名?

我决定使用makecab.exe来满足在我的应用程序中创建cab文件的要求。http://msdn.microsoft.com/en-us/library/bb417343.aspx#microsoftmakecabusersguide而且我需要按照给定路径在cab中存储文件,无论是相对路径还是绝对路径,并提取保留原始路径的文件。因此,我将为此使用指令文件并将该输入提供给makecab命令。windowscommandpromtzip/compressdirectory但cab输出存储在文件夹Disk1\1.cab中。请帮助我了解如何将所需的cab文件名指定为目标(我将从用户输入中获取

windows - 汇编中的非法指令

我真的不明白为什么这个简单的代码在第一次尝试时工作正常但是当把它放在一个错误显示的过程中:NTVDMCPU遇到非法指令CS:db22IP:4de4OP:f0ffffffff第一个代码段工作得很好:.modelsmall.stack100h.codestart:movax,@datamovds,axmoves,axMOVAH,02H;setscursorupMOVBH,00HMOVDH,02MOVDL,00INT10HEXIT:MOVAH,4CHINT21HEND但是这会产生一个错误:.modelsmall.stack100h.codestart:movax,@datamovds,axm

c++ - PE : Adding code at the end of . txt 部分

据我所知,在PE文件中,VirtualSize显示加载期间为部分分配的空间大小,RawSize显示该部分在磁盘上的大小。我遇到了这个执行以下操作的可执行文件:它从原始数据大小(offset0x10)中减去虚拟大小(offset0x8)并确保有一些空间(例如100字节)。在文本部分标题的偏移量0x14处,它找到了该部分本身在文件中的偏移量。它将虚拟大小添加到此,找到该部分在文件中结束的位置。它复制了一些shellcode(最终跳转到可执行文件的原始入口点以确保原始可执行文件运行)到二进制文件文本部分的末尾。现在我在这里有点困惑,如果虚拟大小显示将分配给可执行文件的确切空间,不会在.txt

android - 调试适配器 : SyntaxError: Unexpected token L in JSON at position 0 中未处理的错误

错误:********Unhandlederrorindebugadapter:SyntaxError:UnexpectedtokenLinJSONatposition0atJSON.parse()atPipe.channel.onread(internal/child_process.js:471:28)大家好,我在这里和其他任何地方发现了很多其他类似的问题/问题,但没有一个包括“调试适配器中未处理的错误”。我尝试了很多工作流程,但没有任何效果。简介:操作系统:Windows64xIDE:VSCode(版本:1.25.1/launch.json见下文)vscode-Plugin:Re

c++ - Asm CALL 指令 - 它是如何工作的?

我很想清楚地解释一下,在Windows环境(PE可执行文件)中,CALLXXXXXXXXXXXXXXX指令是如何工作的。我一直在研究PE格式,但我对CALLADDRESS指令、从dll中导入函数以及CALLADDRESS如何到达DLL中的代码之间的关系感到很困惑。除了ASLR和其他安全功能可能会围绕DLL移动之外,可执行文件如何应对这种情况? 最佳答案 它(即,直接调用带有普通相对调用的导入)不起作用,这就是为什么它不是这样做的原因。要调用导入的函数,您需要查看导入地址表(IAT)。简而言之,IAT中的条目首先指向函数名称(即它开始

windows - sub 指令怎么可能导致无效指针读取?

我有一个包含这段代码的故障转储:movr11,rsppushrdisubrsp,0A0hmovqwordptr[rsp+30h],0FFFFFFFFFFFFFFFEh这是函数的序言。因此,!analyze-v表示INVALID_POINTER_READ带有指令sub。AMD指令集表示如果参数不是内存指针,sub指令不能产生任何异常。此外,READ_ADDRESS是ffffffffffffffff,但在寄存器窗口中我可以看到rsp是12b3e0。这是64位操作系统中的32位应用程序。我想知道这个错误的可能原因以及如何修复它。更新:MicrosoftVisualStudio9.0\VC\i

c++ - Windows 中是否有用于 C++ 的简单 Program Files/Program Files (x86) 指令?

我目前正在硬编码我的应用程序的路径,如下所示:constchar*OriginCopyFile="C:\\ProgramFiles(x86)\\i-cut\\i-cut\\Origin_copy.txt";此应用程序将在32位和64位系统中运行。我如何检测没有文件名的路径,以便将其与多个文件一起重用并使其在体系结构之间可移植。 最佳答案 您可以使用GetModuleFileName获取可执行文件的路径,无论它安装在何处,甚至以后移动到哪里。然后你可以PathRemoveFileSpec删除可执行文件名称(或strchr()和frie

c++ - 如何在 Windows 上使用 SSE 和 AVX 指令编译 Tensor Flow?

随着最新版本的TensorFlow现在在Windows上运行,我正在努力让一切尽可能高效地工作。然而,即使从源代码编译时,我似乎仍然无法弄清楚如何启用SSE和AVX指令。默认流程:https://github.com/tensorflow/tensorflow/tree/r0.12/tensorflow/contrib/cmake没有提到如何做到这一点。我找到的唯一引用是使用Google的Bazel:HowtocompileTensorflowwithSSE4.2andAVXinstructions?有人知道使用MSBuild启用这些高级指令的简单方法吗?我听说他们至少提供了3倍的加速