当前位置: 首页 > 知识库问答 >
问题:

启用优化会导致权限问题

刁冠宇
2023-03-14

我在Windows 10中使用cmake构建了一个C项目(Visual Studio 2019,尽管它只使用了构建工具而不是GUI,实际使用的编译器是clang)。如果我在没有编译器优化的情况下构建它,它会构建得很好,但是如果我使用< code > set(CMAKE _ CXX _ FLAGS _ RELEASE“-O3”)传递< code>-O3,那么编译后的二进制文件会有某种权限问题。ctest拒绝运行带有“不允许操作”消息的测试,如果我去寻找测试二进制文件来手动运行它,会给我一个权限被拒绝的错误。

Windows中的权限没有明显的错误(执行权限在那里),这不是缓存问题,因为如果我删除构建树并从头开始,它会再次发生。可以想象,这可能与Boost(它与测试二进制文件以及主可执行文件链接)有关,但这主要是我在抓救命稻草。

有谁知道为什么启用优化会导致权限问题?

共有1个答案

任长卿
2023-03-14

可能不是巧合,我们的IT部门刚刚联系我,问为什么我们的构建机器触发了防病毒警报。我的一些内置优化文件(特别是那些拒绝运行的测试可执行文件)看起来像是某种广告软件(它们肯定不是,它们不是供大众使用的,所以即使我是邪恶的,那也是毫无意义的)。

所以我猜他们不会运行的原因是他们吓坏了我们的防病毒软件。如果我有一个更好的错误消息,那就太好了!

 类似资料:
  • 我有一个基于spring的java web应用程序,它使用HSQLDB dbms后端在事务中插入大量记录。为了减少为要插入的记录生成主键的往返次数,我想创建一个存储过程,生成主键,在插入之前将其用作标识符。因此,我用以下代码创建了一个存储过程: 有一个序列GENERATE_PKS_SEQ,用于为要插入的记录生成唯一标识符。此存储过程需要一个数字输入(NUMBEROFIDS)来定义要生成的密钥数。

  • 我对react钩子和效果有点陌生,在使用useEffect时遇到了问题 上面的代码是我构建的useEffect,用于使用axios获取数据库中的所有数据,并且我将所有数据放在一个称为reports的状态中。 但是当我console.log报告时,它会导致无限循环。我不知道为什么? 让我给你看一个我做的简单动作。 我正在做一个按钮,当它被点击时,报告的状态(按id)将被更新。 这是该州报告结构的样本

  • 我正在试着检查用户是在Iphone上还是在Android上 当我注释这行代码时,应用程序运行良好

  • 问题内容: 当我尝试使用docker构建golang时 Docker的映像构建成功,但是在使用docker run运行时发生以下错误 我认为此错误导致没有用户添加,因此我如下添加了组和用户 但没有解决。 这是我的源docker文件 谢谢 问题答案: 您将在此步骤中将整个源文件夹复制到目录中: 然后,您尝试执行目录: 相反,您需要复制go build在复制步骤中输出的已编译二进制文件。

  • 我试图升级我目前的java项目,运行在1.6到1.8,但程序编译良好如何曾经当我去http://localhost:8080/MyProject/login.jsp-我得到错误。 我正在使用eclipse luna,我将java\u HOME更改为1.8,将eclipse项目facets更改为1.8,并更新了javax。servlet api=3.1.0。 堆栈跟踪 无布局。jsp 我用常春藤做依

  • 我有一个。为简单起见,假设 s 占据范围 -2^31 到 2^31-1。我想计算。我允许 是任何值 0 一种解决方案是计算< code>2*(x-1) 1。比我想要的多了一个减法,但是这个不应该溢出来。但是,编译器会将其优化为< code>2*x-1。这是源代码的问题吗?这是可执行文件的问题吗? 以下是 的弩线输出: 以下是 的闩线输出: