Tag: 编译器选项

我应该什么时候使用GCC的pipe道选项?

GCC 4.1.2文档有关于-pipe选项的说明: -pipe 在编译的各个阶段之间使用pipe道而不是临时文件进行通信。 这在汇编器无法从pipe道读取的某些系统上无法工作; 但GNU汇编器没有问题。 我想我可以从错误消息中知道我的系统的汇编程序是否不支持pipe道,所以除了这个问题,我使用这个选项的时候什么时候关心? 决定使用它的因素有哪些?

如何在gcc中禁用编译器优化?

我正在学习汇编语言。 我已经search并find了如何反汇编一个.c文件,但我认为它会产生一些优化版本的程序。 有没有什么办法,我可以看到我的C文件对应的确切汇编代码。

/ Ox和/ O2编译器选项有什么区别?

微软的C ++编译器(包含在Visual Studio中的cl.exe )提供了几个优化开关 。 大多数的区别似乎是不言自明的,但是我不清楚/O2 (哪个优化代码为最大速度)和/Ox (哪个select“全优化”)之间的区别。 我已经尝试阅读/Ox选项的文档 ,并且似乎证实了这个开关还能够优化最大速度,而不是大小: /Ox编译器选项产生的代码优先于较小的执行速度。 但是,特别是“备注”部分下面的陈述引起了我的注意: 通常,指定/O2 (最大化速度)而不是/Ox 。 所以我的问题是, 为什么一个人应该普遍支持/O2 /Ox ? 后面的选项是否使已知的特定优化导致不可预见的错误或其他意外的行为? 简单地说,获得的优化量不值得额外的编译时间吗? 或者,这只是一个完全没有意义的“推荐”,因为/O2是VS中的默认选项?

msbuild,定义条件编译符号

我可能只是盲目,但是有一个命令行来指定MSBUILD条件编译符号? 我目前在我的buildscript中有这个行: SET MSBUILD=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe SET CONFIG=Debug %MSBUILD% /p:Configuration=%CONFIG% /p:OutputPath=..\..\output source\MyProject\MyProject.csproj 我想添加一个条件。 在Visual Studio中,我可以进入Project Properties => Build => Conditional compilation symbols,但是我还没有看到msbuild的选项? 奖金噶如果你知道我是否可以完全覆盖已经在.csproj文件中指定的所有符号,以确保只有从我的Buildscript的条件进去。

“注册COM互操作”vs“使汇编COM可见”

这两种select的真正区别是什么? 我所知道的是: 注册COM Interop 这个选项在程序集上执行regasm,并将程序集注册为一个COM组件(或者也许不是)registry中的所有COM类似的registry项。 这一步是否会生成一个TLB文件? 还有什么呢? 有时我看到一个tlb是在我编译项目时产生的,但有时候不是,为什么呢? 使assemblyCOM可见 这个对assembly有什么影响? 如果我在这个程序集中有以下types,那么即使我的types被标记为ComVisible,是否还需要指定“Make assembly COM Visible”? [GuidAttribute("02810C22-3FF2-4fc2-A7FD-5E103446DEB0"), ComVisible(true)] public interface IMyInterface { }

什么是优先标志?

我只是想知道在g ++编译器中, -fpermissive标志是做什么的? 我正进入(状态: 错误:以临时地址[-fpermissive] 我可以通过给编译器提供-fpermissive标志来解决这个-fpermissive 。 编辑 :我刚刚发现是什么导致临时地址错误的一部分! 我现在要解决这个问题

如何用SSE4.2和AVX指令编译Tensorflow?

这是从运行脚本检查Tensorflow是否正在工作收到的消息: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.so.8.0 locally W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are […]