问题标签 [compiler-options]

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.

0 投票
1 回答
691 浏览

visual-studio-2012 - 我需要在 VS2012 中使用 /GS 编译器开关吗?

将我们的软件从 VS2005 迁移到 VS2012 后,出现以下错误

这是由使用 /GS 选项引起的。在 VS2012 中有一个扩展的安全开关 /sdl。我不再需要 /GS 了吗?如果不是,我怎样才能在不放弃安全性的情况下解决这个问题?

0 投票
2 回答
1792 浏览

objective-c - clang 的哪些编译选项会在 Objective C 和 Objective C++ 之间更改它们的默认值?

我正在阅读有关引用计数的 clang 文档,其中说“在 Objective-C 中,ARC 默认情况下不是异常安全的”。它继续说:

可以使用选项编译程序-fobjc-arc-exceptions以启用这些选项,或者使用选项-fno-objc-arc-exceptions显式禁用它们,最后一个这样的参数“获胜”。在 Objective-C++ 中,-fobjc-arc-exceptions默认启用。

我很感兴趣。是否有任何其他编译器选项在 Objective-C 和 Objective-C++ 之间默认更改?

*.mm补充问题:在 Objective-C++ 模式(文件)而不是仅在 Objective-C 模式( )中用 clang 编译纯 Objective-C 代码有什么区别*.m

0 投票
3 回答
3629 浏览

gcc - GCC/Clang 的 -framework 选项是否适用于 Linux?

在 OSX 的开发环境中有框架的概念。框架是一种包含头文件、共享库和其他有用东西的包。可以将框架传递给编译器,以便编译器在搜索路径中包含其头文件,并使用其共享库来链接程序。

因此,例如,如果-framework FrameworkName在 OSX 上传递给 gcc 或 clang,编译器会查找/System/Library/Frameworks目录以找到该FrameworkName.framework目录。如果找到,编译器会包含它的头文件并将程序链接到它的共享库。

那么,这个超级有用的功能是否适用于 Linux?gcc 或 clang 能识别-frameworkLinux 上的选项吗?当我在 Linux 上键入这个选项时,编译器似乎无法识别它,但这可能是因为我需要在它之前设置 frameworks 目录路径。有什么特别的技巧可以让它在 Linux 上运行吗?或者这在这个平台上绝对不可能?

0 投票
1 回答
651 浏览

operating-system - 根据操作系统不同的结果

我正在使用用 Fortran 编写的 CFD 代码。它的某些部分已与 OpenMP 并行化。即使我在 Windows 和 Linux 机器上打开 OpenMP 并使用相同的编译器选项 (-O3),我也会得到不同的结果。在尝试关闭优化 (-O0) 并将 (-fp-model 源) 添加到我的编译器选项后,它仅在 2 个迭代步骤后显示 NaN。是否有任何其他原因导致结果不同,我如何确保它们相同)

谢谢,塞巴斯蒂安

PS:两台机器都使用相同的 Intel Fortran Compiler 2013,都是 64 位的,并且有一个 Intel Xeon CPU。

0 投票
2 回答
5323 浏览

c++ - Visual Studio 2010 编译器选项

我在 Visual Studio 2010 Ultimate 的项目属性页上找不到人们称为“C/C++”的选项来更改一些编译器选项。这是我得到的:

属性页截图

我尝试创建一个 Empty Project 和一个 Win32 Project 设置为空但没有结果。任何人都可以帮忙吗?

0 投票
1 回答
263 浏览

c++ - 包含所有包含的标头内容的临时文件

我需要跟踪与包含头文件相关的错误,我怀疑一个或多个文件具有不匹配的大括号和/或括号,我认为查看预处理器带来的文件会很有用给编译器;那是完成所有宏替换并且完全粘贴了标题的所有内容的文件。

我知道有一个编译器选项可以将此临时文件保存到磁盘,但是在谷歌搜索之后我无法找到为我带来该信息的搜索字符串,所以我正在寻求帮助:

什么编译器选项可以将预处理器的输出保存到磁盘中?

我对以下编译器的此选项感兴趣:

  • 海合会
  • msvc
0 投票
1 回答
1202 浏览

msbuild - 如何将 /bigobj 参数添加到 msbuild

我得到了生成大对象 ( msdn ) 的 Visual Studio 解决方案,我应该如何以及通过哪个选项来要求 msbuild 生成大对象?

0 投票
1 回答
581 浏览

gcc - 可以为clang或gcc配置constexpr递归限制吗?

可以通过clang或gcc的命令行选项配置constexpr编译时递归限制吗?如何?

0 投票
0 回答
996 浏览

c++ - 在旧 g++ 中重新声明 for 循环变量

0 投票
1 回答
99 浏览

vb.net - VS2005 发生错误时立即运行我的旧代码

多年来,我在用 VS2005 编写 VB.NET 代码时有这种行为:

如果我的代码包含语法错误,当我按下 F5 时,弹出窗口会询问“您要停止...还是运行此代码的先前编译版本?”

(我总是会点击 STOP。不知道为什么有人想要运行他们的代码的早期版本,而不是你现在尝试编写/修复的代码。)

昨天,事情发生了变化。"callll ThisCodeDoesntExist(xxx.zzz)"现在,即使是像立即运行我的旧代码这样的明显错误。没有弹出窗口。没有选择。没有警告。没有错误。没有什么。

我是否不小心更改了某些编译器选项?我什至会从哪里开始寻找这个?