compiler-flags相关内容
-fpic 标志有什么作用?我想安装一个库(OpenSFM),据说它需要构建和安装 Ceres Solver使用 -fPIC 编译标志. 问题是我已经安装了没有 -fPIC 标志的 Ceres Solver 并且其他库已经依赖它.我该如何解决这个问题? 解决方案 可以找到关于 -fPIC 的一个很好的解释 这里. 我认为这里的主要问题是您是否仍然可以在不重建 Ceres Sol
..
在编写将在不同平台和编译器上使用的 scons 脚本时,有时需要添加编译器特定标志.伪代码中的 Fx 如果使用_gcc:env.Append( CCFLAGS=["-g"] )elif using_msvc:env.Append( CCFLAGS=["/Zi"] ) 在较早的时候,我只是复制了 Tools 下的适当 (?) .py 文件并修改了这些文件并将其放置在 site_tools 下,但
..
我在 NVRTC 中编译了一个内核: __global__ void kernel_A(/* args */) {无符号短 idx = threadIdx.x;无符号字符 warp_id = idx/32;无符号字符lane_id = idx % 32;/* ... */} 我知道整数除法和取模在 CUDA GPU 上非常昂贵.但是我认为这种除以 2 的幂应该优化为位运算,直到我发现它不是:
..
除了设置 -Wall 和设置 -std = XXX 之外,还有其他真正有用的方法,但是鲜为人知的编译器标志可用于C语言吗? 我对任何其他警告和/或在某些情况下将警告转换为错误以最大程度地减少任何意外的类型不匹配特别感兴趣. 解决方案 几个 -f 代码生成选项很有趣: -ftrapv 函数将导致程序在有符号整数溢出(在C语言中为“未定义的行为")中止. 如果使用 -S 进行
..
我目前使用'setuptools'在Linux上使用gcc自动cythonize和编译我的Cython模块.从现在开始,我需要对提供给gcc的构建标志进行更多控制.如果我在 setup.py 中使用以下内容: cythonize([Extension("*",["project/*.pyx"])nthreads = 4) 我得到的构建标志如下: gcc -pthread -Wno-un
..
我想使用 __ device __ lambda,但它表示我需要传递'--expt-extended-lambda'标志. 我在colab中使用此环境. !wget https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64
..
如何防止此类代码编译? #include#include#include#includeint main(){std :: vectorv;v.emplace_back(std :: numeric_limits :: max());std :: cout
..
在VS2015中,是否有等效的GCC标志-fpermissive?这是用于cpp应用程序谢谢 解决方案 理论上等价于/Ze . 但是,这允许特定于Microsoft的扩展,而 -fpermissive 允许特定于GCC的扩展.如果您希望代码具有可移植性,请编写可移植的代码.就这么简单.
..
与Java不同,在C/C ++中,允许: int * foo(){如果(x)返回p;//如果控制到达此处怎么办} 这通常会导致崩溃并难以调试问题.为什么 standard 对非 void 函数不强制具有最终回报?(编译器针对错误的 return 值生成错误) gcc/msvc中是否有任何标志可以强制执行此操作?(类似于 -Wunused-result ) 解决方案 不允许(未定义
..
clang(不是gcc)具有一个 -Weverything 选项,该选项出现来包含诸如 -Wpedantic 之类的内容.您可以在此处进行测试: https://godbolt.org/z/qcYKd1 .请参阅窗口的右上角,以获取我在 -Weverything 中作为显式编译器选项进行键入的位置. 请注意我们收到的 -Wvla-extension 警告,因为在这种情况下我们依赖C ++中的
..
一个Java程序使用JRE 10.0.2发出此警告: Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release. 此开关的推荐替代品是什么? 解决方案
..
Java 8中没有适当的 HiDPI支持. 在 Java 9 中,JavaFx应用程序可以正确缩放到它们所在的监视器.例如,如果将我的监视器设置为缩放为150%,则Java应用程序将缩放为150%. 请参阅: http://openjdk.java.net/jeps/263 但是,出于测试目的,我需要能够在Windows 10中使用 java.exe标志来禁用缩放. > 此外,
..
我正在尝试使用node-gyp构建node.js C ++,但无法弄清楚如何指定-Wl,-rpath,$ORIGIN,以便从节点加载时可以找到与该目录位于同一目录中的共享库. addon.node. 我尝试这样设置binding.gyp: "libraries": [ "-L../../install_release_x64/", "-llibp
..
对于GCC CFLAGS选项:-msse,-msse2,-mssse3,-msse4,-msse4.1,-msse4.2.它们是专有用途还是可以一起使用? 我的理解是,要设置的选择取决于运行程序的目标拱门是否支持它-这是正确的吗? 如果是这样,我怎么知道目标弓所支持的功能?在Linux中,我使用/proc/cpuinfo,但如果使用Mac或Windows,该怎么办? 谢谢!
..
我找到了以下标志列表: http://www.ncsa.illinois.edu/UserInfo/Resources/Software/Intel/Compilers/10.0/main_for/mergedProjects/optaps_for/common/optaps_dsp_targ.htm ,我想尝试将其中一些添加到我的项目中.我似乎找不到在Visual Studio 20
..
为什么在Visual C ++中 / Wp64 标志已弃用? cl:命令行警告D9035: 选项' WP64'已被弃用,并将在以后的版本中删除 解决方案 我认为 / Wp64 主要是因为为64位目标进行编译将捕获其设计要捕获的各种错误(/ Wp64仅在32位编译中有效)。当出现64位目标时,会重新添加该选项,以帮助人们将程序迁移到64位并帮助检测并非“ 64位干净”的代码。
..
我想知道您传递给gcc编译器的哪些开关可以关闭未使用的变量警告?我在Windows上的增强中遇到了错误,并且我不想触摸增强代码: C:\boost_1_52_0 /boost/system/error_code.hpp:在全局范围内: C:\boost_1_52_0 / boost / system / error_code.hpp:214:36:错误:已定义但未使用'boost ::
..
我正在使用Eclipse编写C / C ++程序。我想使用-Wall和-pedantic标志来编译我的代码。如何在Eclipse中启用这些标志,以便在我编译C / C ++程序时默认使用它们? 解决方案 转到Eclipse->项目浏览器->您的项目->上下文菜单->属性。 出现一个对话框。在左窗格中,打开“ C / C ++构建”->“设置”。在右窗格中,确保选择选项卡“工具设置”-
..
是否存在一个变量,该变量包含对CMake的ADD_LIBRARY函数的某些调用中使用的编译器标志,例如,当我们添加模块时使用的那些标志: ADD_LIBRARY(mylib MODULE mysrc.cpp) 或者,有没有办法 解决方案 将我的评论变成答案 没有一个CMake变量来获取所有编译器标志。问题在于,CMake生成器最终将把编译器标志放在一起
..
我想将 getconf PAGESIZE 命令输出的结果作为预处理器定义传递给我的程序,格式为 -DPAGESIZE =`getconf PAGESIZE` 在自定义分配器声明中用于 [[gnu :: assume_aligned(PAGESIZE)] )。 我尝试了以下操作: add_definitions(-DPAGESIZE =`getconf PAGESIZE`)
..