问题标签 [compiler-flags]

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 回答
190 浏览

c++ - 重新排序 gnu autotools 链接器标志

我在 C++ 中的项目中使用 gnu autotools(autotools 配置由 eclipse cdt 自动生成,但我认为这无关紧要)。我正在使用 LLVM 库,现在我遇到了链接器标志顺序的问题。

基本上,在构建项目时,eclipse 会执行“make”。Make 执行了很多命令,但最后它执行 g++ 编译器,如下所示:

然后是链接器:

问题是,如果参数“test.o”不在行首,链接器就会失败,所以它应该是:

如何在 Makefile.am 或 gnu autotools 的任何配置文件中更改它?

0 投票
1 回答
286 浏览

gcc - 编译没有优化?尽可能安全?

我有一些代码表现得很奇怪。奇怪的人指责我的输出并没有真正发生(我希望这会让我的生活更轻松)。该代码在 Windows(ms vc++,gcc)中运行良好,但在 linux(gcc,clang)上失败。

我目前编译g++ -g -std=c++0x -Wall -c file.cpp有什么比这更安全的吗?哦,这个段错误(在linux上)即使没有任何警告......

0 投票
1 回答
8120 浏览

xcode - 如何强制 xcode 在特定文件上使用 ARC?

我的项目包含 XMPPFramework,其中包含一个必须与 ARC 一起使用的文件。但是我的项目是非 ARC 并且由于链接到它的某些其他库而无法转换。

如何强制编译器仅在某个类上使用 ARC?

0 投票
2 回答
10144 浏览

gcc - gcc 编译器不会在第一个错误时停止

在第一个错误之后如何让 gcc 不停止编译。是否有一个编译器标志可以做到这一点?

基本上我想删除一个类,但我不确定这会产生多大的影响,所以我想确定如果我从makefile中删除类会有多少类有问题。

有没有更好的方法来确定这种影响?

0 投票
1 回答
4109 浏览

gcc - 何时对多个共享库使用某些优化,例如 -fwhole-program 和 -fprofile-generate

可能是一个简单的答案;我对 GCC 文档中用于其中一些标志的语言感到非常困惑!

无论如何,我有三个库和一个使用这三个库的程序。我使用单独的(可能)不同的警告标志集分别编译我的每个库。但是,我使用相同的优化标志集编译所有三个库。

然后,我使用自己的一组警告标志和在库编译期间使用的相同优化标志来编译我在这三个库中链接的主程序。

1)我是否必须编译带有优化标志的库,或者我可以在编译最终程序并链接到库时只使用这些标志?如果是后者,它会优化这些库中的全部或部分代码(可能是被调用的代码)吗?

2)我想使用 -fwhole-program -flto -fuse-linker-plugin 和链接器插件黄金。我在哪个阶段使用这些进行编译......只是最终编译还是在编译库期间需要存在这些标志?

3) 与 2) 几乎相同,但是使用 -fprofile-generate -fprofile-arcs 和 -fprofile-use。我知道一个人首先使用生成运行程序,然后使用。但是,我必须使用生成/使用等编译每个库还是只编译最终程序?如果它只是最后一个程序,那么当我使用 -fprofile-use 进行编译时,它还会优化库功能吗?

0 投票
1 回答
1250 浏览

windows - 在哪些情况下我们需要指定 QMAKE_CXXFLAGS?

我的 .pro 文件如下所示:

我还需要使用qmake-cxxflags吗?
在哪种情况下应该使用该标志?

0 投票
3 回答
2894 浏览

gcc - GCC 的“-wrapper”标志有什么作用?

GCC 手册中,有以下总体选项:

-wrapper
调用包装程序下的所有子命令。
包装程序的名称及其参数
以逗号分隔列表的形式传递。

gcc -c tc -wrapper gdb,--args

这将调用gdb --args', thus the invocation of cc1 will begdb --args cc1 ...' 下的所有 gcc 子程序。

我无法理解该标志的示例和用途。

gcc -c tc将创建一个to
然后什么?目标文件被发送到gdb?
或者 gdb 是否有责任创建目标文件(asummingly 添加调试信息)?

0 投票
3 回答
10586 浏览

visual-studio-2010 - 如何在 Visual Studio 2010 中设置 CUDA 编译器标志?

在不断得到之后error : identifier "atomicAdd" is undefined,我找到了使用-arch sm_20flag编译的解决方案。但是如何在 VS 2010 中传递这个编译器标志呢?我在下面这样尝试过Project > Properties

在此处输入图像描述

但这显然没有效果并且错误仍然存​​在 - 我做错了什么?

非常感谢。

0 投票
3 回答
1726 浏览

c - 在 Linux 中使用 fork() 函数创建进程

我一直在尝试编译一段代码,它应该使用该函数C创建进程。`fork()

"gcc -Wall -W -Werror main.c -o ProcessCreateC"在终端中编译。我收到错误:

由于我只有在 Windows 中编译的经验并且几乎没有经验Linux,所以我不知道是什么原因造成的。有任何想法吗??

0 投票
2 回答
208 浏览

xcode - 如果出现警告,则阻止 Xcode 构建

我希望我的 Xcode 项目没有警告。我如何配置 Xcode,使其只要有警告就不会构建?