我正在寻找编译过程中使用的默认编译器标志。因此,我使用了命令gcc-Q-v
GNU C(Ubuntu 4.8.4-2ubuntu1~14.04.3)4.8.4版(x86_64-linux-gnu)由GNU C 4.8.4版、GMP 5.1.3版、MPFR 3.1.2-p3版、MPC 1.0.1版编译而成
GGC启发法:--param GGC min expand=100--param GGC min heapsize=131072
通过的选项:-v-imultiarch x86_64-linux-gnu示例。c-mtune=generic-march=x86-64-fstack protector-Wformat-Wformat security
启用选项:-faggressive循环优化-fasynchronous unwind tables-fauto inc dec-fbranch count reg-fcommon-fdelete空指针检查-fdwarf2 cfi asm-可怕的内联-feliminate未使用的调试类型-函数cse-fgcse lm-fgnu运行时-fgnu unique-fident-finline atomics-fira提升压力-fira共享保存槽-fira共享溢出槽-fivopts-fkeep静态常数-跳蚤下划线-fmath errno-fmerge debug strings-fmove循环不变量-fpeephole-fprefetch循环数组-freg struct return-fsched关键路径启发式-fsched dep count启发式-fsched group启发式-fsched interblock-fsched last insn启发式-fsched rank启发式-fsched spec-fsched spec insn启发式-fsched stalled insns dep-fshow column-fsched零-展开器中的fsplit ivs-fstack protector-fstrict volatile bitfields-fsync libcalls-ftrapping math-ftree coalesce vars-ftree cselim-ftree forwprop-ftree loop if convert-ftree loop im-ftree loop ivcanon-ftree loop optimize-ftree parallellellize loops=-ftree phiprop-ftree pta-ftree reasoc-ftree-cprop-ftree-cprop-ftree-cprop-ftree-ftree-cprop-ftree-slp-slp--fvar跟踪-fvar跟踪分配-fzero在bss中初始化-M128位长双精度-m64-m80387-maccumulate传出参数-恶意stringops-MFANGE-math-387-mfp-ret-in-387-mfxsr-mglibc-mieee fp-mlong-double-80-mmmx-mno-sse4-mpush参数-mred区域-msse-msse2-mtls直接分段参考
我现在想知道:启用选项和传递选项之间有什么区别?
传递的选项是添加到命令行的选项,通过配置添加,如-march=x86-64-fstack protector
,或通过命令调用添加,如-v
。这意味着这些选项在默认情况下不启用,必须由gcc命令指定。
启用的选项是已启用的选项,并且总是用于在特定系统上使用特定的gcc
进行编译,只要通过选项,您就不会禁用其中的一些选项。
例如,在一个清晰的环境中调用gcc示例。c
将为您提供示例。c
作为唯一通过的选项,但所有启用的选项仍然相同。
问题内容: 我知道这是 ld 的选项。我见过有人这样编译 这样的人 因此,我想知道和之间是否存在差异。 谢谢。 问题答案: 存在 是 通过之间的差,以GCC或给ld(通过)。传递给GCC可能会在链接时启用或禁用其他标志。特别是,可能涉及不同的文件。 要获取更多信息,请在GCC的目录和子目录中使用grep 。 编辑: 举一个具体的例子:在i386 FreeBSD上,将链接到目标文件中,而没有时,它将
问题内容: 我尝试了几种向表添加滚动的方法,但是只有其中一种可以正常工作。它们之间有什么区别? 第一: 第二: 第三: 第四: 问题答案: Element.scrollIntoView() 方法将调用该元素的元素滚动到浏览器窗口的视口中。 句法: //布尔参数 //对象参数 您的用例: :这行代码会将元素滚动到浏览器窗口的可见区域。 :此代码行将滚动元素以使其与可滚动祖先的视口顶部对齐。此选项对应
最后,本文介绍了新的Java 8<code>Optional<code>,指出: Optional远不如Scala中的Option[T]强大(但至少它不允许包装null)。该API不像空处理那样简单,而且可能要慢得多。但是编译时检查的好处加上可读性和可选使用的文档价值大大超过了缺点 我对Scala有着非常基本的了解,而且我对Java 8<code>Optional<code>也越来越熟悉,所以乍一
问题内容: 我需要测试返回可选值的表达式是否为。这似乎很容易,但是这里是代码。 由于某种原因,这令我不悦。 对我来说看起来好多了,但是我实际上不需要该物品,我只需要知道是否退货即可。因此,我使用了以下内容。 我在这里想念些微妙的东西吗?我想和这里是等价的。 更新以解决答案中的一些问题 我不明白之间的差别和,虽然我一般使用。在这种情况下,在块之后推入将获得混合的块的布尔比较与if的布尔比较。 通配符
如果像Apple在Swift编程中所说的隐式展开选项应该总是有一个值,那么为什么不使用非选项来代替呢?我知道非选项不能赋值为nil,但还有其他区别吗?
当我编译我的项目并检查运行所使用的资源时,大CPU/内存猪有时被称为,有时被称为。两者之间有什么区别,我是否应该直接调用?