草庐IT

gcc12.2.0

全部标签

c++ - iso 12.1 p5 中的第 4 个要点对我来说没有意义

也许我遗漏了什么,但IMOiso§12.1p5中的第4个要点是错误的:Xisaunionandallofitsvariantmembersareofconst-qualifiedtype(orarraythereof),仅仅是因为在一个union中不能有超过一个const合格成员。从§9.1我们有:Inaunion,atmostoneofthenon-staticdatamemberscanbeactiveatanytime,thatis,thevalueofatmostoneofthenon-staticdatamemberscanbestoredinaunionatanytime.

c++ - 构造函数上的 SFINAE 在 VC2017 中有效,但在 clang/gcc 中无效

这个问题在这里已经有了答案:std::enable_iftoconditionallycompileamemberfunction(8个答案)关闭4年前。#includetemplatestructS{template>S(){}template>S(int){}};Ss{};//errorinclang/gcc,OKinVC2017Ss{0};//errorinclang/gcc,OKinVC2017在这两种情况下,clang/gcc都尝试实例化由于SFINAE实际上应该丢弃的ctor。错误信息是:error:notypenamed'type'in'std::enable_if';'

c++ - GCC 编译错误 : declaration of ‘strlen’ must be available

我的问题是,当我想制作一个下载的库时,我从GCC得到了一些奇怪的编译错误。编译器要求更正的代码似乎是正确的。报错都是这样的:Catalogue.h:96:error:therearenoargumentsto‘strlen’thatdependonatemplateparameter,soadeclarationof‘strlen’mustbeavailable这是第96行附近的代码:GaCatalogueEntry(constchar*name,T*data){if(name){_nameLength=(int)strlen(name);//LINE96//copyname_name

c++ - 为什么 GCC 在编译时不评估 constexpr?

举个例子:classsomething{public:staticconstexprintseconds(inthour,intmin,intsec){returnhour*3600+min*60+sec;}}然后:printf("Lookatthetime:%d\n",something::seconds(10,0,0));将使用g++编译为对函数的调用,而不是放置常量。为什么g++会那样做?它没有任何好处,而且有点违背了使用constexpr而不是可怕的宏的目的。 最佳答案 Whywouldg++dothat?constexpr

c++ - GCC 链接器找不到标准库?

我一直在用XCode开发一个学校项目。最终产品必须以带有makefile的源代码形式提交,因此我编写了一个makefile并以这种方式开始编译,以确保我有一个工作拷贝。这是我的生成文件:all:main.oStackList.oworld.oFarm.ogccmain.oStackList.oworld.oFarm.o-g-oProject1main.o:gcc-g-cmain.cppStackList.o:gcc-g-cStacklist.cppworld.cpp:gcc-g-cworld.cppFarm.cpp:gcc-g-cFarm.cppclean:rm*.oProject1编

c++ - GCC -Wunused-function 不起作用(但其他警告有效)

我试图通过使用GCC的-Wunused-function标志在我的代码库中找到未使用的函数。如我所料,使用gcc-Wall-Wunused-functionmain.cpp编译以下代码会打印一个unusedvariable警告:warning:unusedvariable‘x’[-Wunused-variable]但是,编译器不会给出unused-function警告。我该怎么做才能让GCC注意到未使用的函数foo()?//main.cppvoidfoo(){}//should(butdoesn't)trigger'unusedfunction'warningintmain(intar

c++ - 如何将gcc的错误输出保存到文件

当我编译我的代码时,我得到了一堆错误,它们横跨整个屏幕,我可以看到错误从哪里开始。如何将gcc的输出保存到文件中?我试过像这样的技巧gcc>log.txt或搜索结果但没有成功。搜索谷歌的结果主要是解释如何使用C++打印到文件 最佳答案 GCC将错误输出到标准错误流而不是标准输出流。您需要重定向标准错误,而不是标准输出。在bash中:gcc2>log.txt 关于c++-如何将gcc的错误输出保存到文件,我们在StackOverflow上找到一个类似的问题: h

c++ - 加速gcc中的虚函数调用

使用gprof分析我的C++代码时,我发现我的大部分时间都花在了一遍又一遍地调用一个虚拟方法上。该方法本身很短,如果它不是虚拟的,则可能会被内联。除了重写所有内容以使其不是虚拟的之外,有哪些方法可以加快速度? 最佳答案 你确定时间都是通话相关的吗?成本是功能本身吗?如果是这种情况,简单的内联可能会使该函数从您的分析器中消失,但您不会看到太多加速。假设它确实是进行如此多的虚拟调用的开销,那么在不使事情成为非虚拟的情况下,您可以做的事情是有限的。如果调用有时间/标志之类的提前退出,那么我通常会使用两级方法。检查与非虚拟调用内联,仅在必要

mac 10.15.7 & Unity 2021.3.14 & XCode 12.4 -> Unity IOS 自动安装 Cocoapods 失败解决方法

这篇文章是针对Cocoapods失败的解决方法,但是编译出来的App是上架不了Appstore,如果想再看一下能上架到Appstore的方法,请看我的另一篇文章 mac12.7.3&Unity2021.3.14&XCode14.2成功将unity游戏编译到IPhone中,并上架appstore-CSDN博客自己这两天在用Unity开发IOS时,遇到了安装Cocoapods失败的问题,记录一下问题及解决方法,便于自己后续查看,以及有相同遭遇的人查看发生场景:打开unity,触发自动安装Cocoapods->安装失败(各种失败情况在【问题及解决】中都有记录及有解决方法)原因分析:mac10.15自

rk3568 Android12音频问题

rk3568Android12音频问题前言在调试客户的项目的时候,发现外置的音频功放在打开和关闭音频的时候会出现pop音,严重影响使用体验,好在最后解决了这个问题,遂记录一下解决过程。tiny-alsa命令的使用在调试ubuntu等一些纯linux系统的时候,可以使用alsa-utils工具进行调试,由于其过于庞大,安卓中精简了一部分功能,在安卓中叫alsa-utils工具。#查看本机的声卡cat/proc/asound/cards#查询声卡的采样率,格式等信息tinypcminfo-D0#播放音频tinyplayxxx.wav-D0#录制音频tinycap-D0#控制codec通路tinym