草庐IT

交通标志

全部标签

c++ - 没有特殊标志的 cudaMallocHost() 和 cudaHostAlloc() 之间有什么区别吗?

在CUDA中,我想知道cudaMallocHost()之间的区别和cudaHostAlloc().它们在API引用中的各自摘要说:cudaMallocHost():“在主机上分配页面锁定内存。”cudaHostAlloc():“在主机上分配页面锁定内存。”而且进一步的描述似乎只是可以为cudaHostAlloc()指定的附加标志。前者只是为了向后兼容而保留,还是它们之间存在实际差异?PS-让我们假设CUDA6.5及更高版本。 最佳答案 据我所知,当默认标志用于cudaHostAlloc并且调用在UVA平台上运行时,它们是相同的。当引

c++ - 可以在 macOS 上启用的最低支持 SSE 标志是什么?

最近我使用的大多数硬件都支持SSE2。在Windows和Linux上,我有一些代码来测试SSE支持。我在某处看到macOS很早就支持SSE了,但我不知道最低版本可以启用。最终的二进制文件将被复制到其他macOS平台,因此我不能像使用GCC那样使用-march=native。如果所有构建都默认启用它,我是否必须在构建代码时传递-msse或-msse2标志?这是我的编译器版本:AppleLLVMversion6.0(clang-600.0.56)(basedonLLVM3.5svn)Target:x86_64-apple-darwin14.1.0Threadmodel:posix这是una

c++ - `-Wl,` 编译器标志前缀

我是代码库的新手,正在查看Makefile。我看到几个用-Wl,前缀指定的编译器标志(即-Wl,--no-undefined指定)。我以前没有遇到过这种语法,很难谷歌搜索。前缀是做什么的?看起来它与警告有关,但我不知道,我很犹豫是否要弄乱它。 最佳答案 它与警告无关。来自GCC手册:-Wl,optionPassoptionasanoptiontothelinker.Ifoptioncontainscommas,itissplitintomultipleoptionsatthecommas.Youcanusethissyntaxtop

c++ - 使用 ios::Nocreate 标志会导致 "undeclared identifier"错误

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ios::nocreateerrorwhilecompilingaC++code我一直在研究如何在c++/c#中创建一个简单的词法编译器,但是当我尝试编译程序时似乎出现了错误errorc2065'nocreate'undeclaredidentifier我该如何处理这个问题??但我想这可能与fstreamheader有关,关于我如何处理它有什么想法吗??这是给我错误的代码loadTransitionTable();fstreamFile("input.txt",ios::in|ios::Nocreate);i

C++11 空标志类

在一些unique_lockconstructors在C++11中,可以传递一些classes像一面旗帜,即autolock=std::unique_locklock(m,std::defer_lock);其中std::defer_lock定义为structdefer_lock{}为什么这样做,而不是使用枚举?我试图将它应用到一个小的代码示例中,但我无法编译它:classA{};voidfoo(Aa){}intmain(){foo(A);//error:'A'doesnotrefertoavalue}当我像foo(A());这样放置括号时,它起作用了,但我看不出与STL的区别。为什么这

c++ - 为什么 GCC 允许在 C++ 中使用 round() 即使带有 ansi 和 pedantic 标志?

即使使用-ansi和-pedantic标志,这个程序在GCC下编译是否有充分的理由?#includeintmain(intargc,char*argv[]){doublex=0.5;returnstatic_cast(round(x));}使用g++-ansi-pedantic-Walltest.cpp-otest编译干净(甚至没有警告)。我看到两个问题:round()不应该在符合ISO的模式下对C++可用(因为它来自C99)即使round()在这种情况下可用,它也只能在std命名空间中可用我错了吗? 最佳答案 Thisisabug

c++ - 从可执行文件中找出编译优化标志

这里我有一个可执行文件,不知道它的构建环境,假设使用的是gcc/g++。有没有办法找出编译期间使用的优化标志(如O0、O2等)?欢迎使用所有方法,无论是通过分析二进制文件还是通过gdb进行调试测试(如果我们假设-g标志在编译期间可用)。 最佳答案 如果幸运的话,命令行会出现在可执行文件本身中,具体取决于所使用的操作系统和文件格式。如果它是Elf文件,请尝试使用来自GNUbinutils的objdump转储内容 关于c++-从可执行文件中找出编译优化标志,我们在StackOverflow上

c++ - 为什么一些 GCC 警告标志不属于 C++ 语言但在 C++ 中工作?

我正在探索GCC使用gcc-Q--help=warning语法提供的警告。(有关详细信息,请参阅3.2OptionsControllingtheKindofOutput。)我想到的是许多(GCC版本6.4.1中的250个中有109个)警告未归类为C++。我的意思是,在执行受限查询gcc-Q--help=warning,c++时,它们不会出现。(出于好奇,81个警告既不是C++也不是C。)然而,至少其中一些警告在C++中有效。以-Waggregate-return为例。(在CompilerExplorer上查看。)-Waggregate-return默认情况下是禁用的,我知道它可能没什么

c++ - g++ 在 -Os 启用错误标志

目前,我正在使用GNUC++编译器和-Os优化选项进行一些实验,以获得最小的代码大小。我使用以下命令在-Os处检查了启用的编译器标志:g++-c-Q-Os--help=optimizers|grep"enabled"我得到了这个启用选项列表:-faggressive-loop-optimizations[enabled]-falign-functions[enabled]-falign-jumps[enabled]-falign-labels[enabled]-falign-loops[enabled]-fasynchronous-unwind-tables[enabled]...这似

定义描述交通工具的抽象类Vehicle,并由Vehicle类派生出两种交通工具——飞机类Plane和火车类Train,主函数完成相关的测试。

定义描述交通工具的抽象类Vehicle,并由Vehicle类派生出两种交通工具——飞机类Plane和火车类Train,主函数完成相关的测试。Vehicle类结构说明:Vehicle类的成员函数包括:①公有函数成员floattravelTime(float)是纯虚函数,它的功能是根据旅程距离计算旅程时间。②公有函数成员voidsetSpeed(float)是纯虚函数,它的功能是用于设置交通工具速度。Plane类结构说明:Plane类公有继承自Vehicle类Plane类新增的数据成员包括:①私有数据成员:飞行速度speed(float)。Plane类的函数成员包括:①有参构造函数Plane(fl