问题标签 [bounds-checker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
indexing - D中的静态参数函数专业化
我在某处读到 D 支持将函数专门化为参数是编译时常量的调用。它的典型用途是在矩阵幂函数中(如果指数为 2 x*x
,通常比一般情况快)。
我想要这个在我的成员函数中
BitSet
我正在写一个静态大小的结构。这是为了在可能的情况下对索引变量进行编译时边界检查i
。我想
就足够了,但随后 DMD 抱怨如下
我是否必须将参数设为i
模板参数,例如使用 type U
,然后使用 static if someTypeTrait!U
。我试过这个,但 isMutable!Index 总是评估为真。
c++ - 使用 MinGW 检查 Debug 和 Release 中的 STL 边界
我正在从事一个遇到一些问题的项目(即定居者 2.5 回归根源)。我希望能够通过仅使用 stl 容器和边界检查来解决其中的一些问题。
那么是否有可能在发布模式下也可以在 STL 容器中使用边界检查?所以我们可以使用一个(性能较差的)版本,它会导致它们崩溃/抛出错误吗?
构建服务器使用 MinGW 从 linux 交叉编译到 windows 和 apple。
编辑:[]-operator 是专门使用的。更改为 .at() 将需要一个大型的搜索和替换操作,该操作必须在某个时候被反转。最好的情况是,如果有一个定义或将 []-behaviour 切换为 .at() 的东西
julia - Julia 中的@inbounds 传播规则
我正在寻找对Julia中边界检查规则的一些说明。这是否意味着如果我放在@inbounds
for 循环的开头,
那么只有“一层”的入站传播,所以如果里面有一个for循环,@inbounds
不会关闭那里的边界检查吗?如果我使用@propagate_inbounds
,它会进入嵌套的 for 循环吗?
说@inbounds
总是赢是正确的@boundscheck
吗?如果函数没有内联,则唯一的例外,但这只是前面“一层”规则的一种情况,所以@propagate_inbounds
即使在非内联函数调用中也会关闭边界检查?
c++ - 无法安装 MPX 运行时驱动程序(用于边界检查)
在阅读了这篇关于检测内存泄漏的博文后,我决定从这里安装 MPX 运行时驱动程序。我右键单击 mpxruntime.inf 并选择“安装”。设备管理器随后会在系统设备下列出“Intel(R) MPX Runtime Driver”,但其图标在黄色三角形上有一个小感叹号。如果我右键单击该图标并选择属性,我会看到以下文本:
在这一点上,我不知道该尝试什么。
仅供参考:我正在运行带有 i7 6850K 处理器的 Windows 10。
编辑:查看带有CPU-Z 实用程序的处理器,它有一个名为“指令”的区域,列出了 MMX、SSE、VT-x、AES、TSX 等内容,但 MPX 并未出现在该列表中。也许这告诉我我的处理器没有 MPX 指令?
c - Intel mpx:如果没有越界操作,是什么导致 gcc [-Wchkp] 升温
Intel mpx是一组允许检查函数边界的处理器指令。如果通过 Intel mpx 检测到溢出,则会发出 SIGSEV 信号,即使在没有 Intel mpx 的情况下编译程序仍然能够运行。
在编译 libntfs‑3g 时,我遇到了在运行时确认的这个问题:
问题是我无法通过这个简单的指针分配看到缓冲区溢出:
当我用 libasan 编译 libntfs‑3g 时,在运行时没有检测到升温或溢出。它只发生在 ntfs‑3g
c++ - Xcode Sanitizer 如何启用
使用 Xcode 12,Apple Clang Address Sanitizer,我启用...启用 C++ 容器溢出检查(用于调试和发布)。
我希望启用 C++ 容器溢出检查给我运行时警告,例如。通过将每个翻译[]
成.at()
.
我运行类似于下面的代码(它出现在一堆以前的函数调用的末尾,其中元素的数量V
在编译时无法知道。)
我没有得到预期的结果,没有对V
.
问题:启用 C++ 容器溢出检查.at()
是否应该像边界检查一样给我[]
访问权限?我怎样才能做到这一点?