10得票1回答
何时使用某些优化,如-fwhole-program和-fprofile-generate,与多个共享库一起使用?

1) 我们需要在编译库时使用优化标志,然后在编译主程序时链接到这些库,并再次使用相同的优化标志。这将确保库中的所有代码都被优化。 2) -fwhole-program、-flto、-fuse-linker-plugin 和链接器插件 gold 应该在最终编译阶段使用。 3) 我们只需要在最后一...

37得票3回答
GCC的“-pg”标志如何与分析器相关联?

我正在尝试理解使用GCC编译C代码时,-pg(或-p)标志的工作原理。 官方的GCC文档仅说明: -pg生成额外的代码以编写适用于分析程序gprof的配置文件信息。您必须在编译要获取数据的源文件时使用此选项,并且在链接时也必须使用它。 这真的很有趣,因为我正在进行关于分析器的小型研究。我正...

18得票1回答
UseConcMarkSweepGC已经被弃用,它的替代品是什么?

使用JRE 10.0.2时,Java程序出现了这个警告:Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be r...

7得票1回答
当我使用 -Wall 标志编译程序时,它会做什么?

我正在跟着一份教程学习如何使用gprof对程序进行分析,给出的命令如下: gcc -Wall -pg test_gprof.c test_gprof_new.c -o test_gprof 但是这个命令中并没有解释-Wall标志的含义。

29得票5回答
使用g++创建静态库的优化和标志

我刚开始在Linux上使用g++编译器,并对编译器标志有一些问题。以下是这些问题: 优化 我阅读了g++手册页面中关于优化标志 -O1、-O2和-O3的文章。我不明白何时应该使用这些标志。通常你使用哪种优化级别?g++手册对-O2如下所述: 进行更多优化。GCC执行几乎所有不涉及空...

7得票2回答
xcodebuild能够删除项目的Build文件夹内容吗?

在 Xcode 9 中,有一个名为“Clean Build Folder...”(⌥⇧⌘K)的构建选项,它会删除构建文件夹中的所有文件,只留下空文件夹。此后,该行为被移除,菜单项标题更改为“Clean Build Folder”,现在的行为类似于旧版“Clean”。 xcodebuild 有...

7得票1回答
在共享库中混合使用 PIC 和非 PIC 对象

这个问题与这个问题及其答案有关。 我刚刚发现我正在处理的一个构建过程中存在一些丑陋的问题。情况看起来有点像下面这样(以gmake格式编写);请注意,这特别适用于sparc和x86硬件上的32位内存模型: OBJ_SET1 := some objects OBJ_SET2 := some...

12得票4回答
设置Java编译器兼容性级别

我需要在命令行上编译一个Java程序,并尝试将编译器级别设置为较低版本(1.6)。我尝试过以下方法,但没有成功:javac -1.6 Hello.java

21得票2回答
我的可用march/mtune选项是什么?

有没有办法让gcc输出可用的-march=arch选项?我遇到了构建错误(尝试使用-march=x86_64),但我不知道我的选择有哪些。 我正在使用一个专有的gcc包装器,这个包装器似乎不喜欢-march=skylake。这些标志应该是一样的,所以我假设发送给gcc以转储体系结构的选项也对...

42得票1回答
“DNS_BLOCK_ASSERTIONS”(C编译器标志)是什么?

"DNS_BLOCK_ASSERTIONS"是什么(C编译器标记)?