草庐IT

android - "The following SDK components were not installed: sys-img-x86-addon-google_apis-google-22 and addon-google_apis-google-22"

我是Windows764位用户,我在更新最新版本的AndroidStudio和SDK后遇到了AndroidStudio问题组件..ThefollowingSDKcomponentswerenotinstalled:sys-img-x86-addon-google_apis-google-22andaddon-google_apis-google-22请帮我解决这个问题。谢谢。 最佳答案 我在MacOS10.10上尝试将AndroidStudio从1.1升级到1.2时遇到了同样的问题。我通过选择自定义安装而不是标准安装解决了这个问题。

c++ - Visual Studio 2015 上的 log10() 性能比 Visual Studio 2013 for x86 慢很多

我们已将VS2013C++/MFC应用程序移植到VS2015,但在VS2015编译器生成的性能和代码方面存在一些相当令人不安的问题。注意这是针对x86的。log10()调用速度要慢很多。在使用CPU采样分析Release构建时,我们看到这些调用比以前占用了更多时间。从例如VS2013在同一运行中的49个样本到VS2015中相同运行的高达7545个样本。这意味着该函数从CPU负载的0.6%变为相关应用程序的50%。在VS2013profiler中显示:FunctionNameInclusiveSamplesExclusiveSamplesInclusiveSamples%Exclusiv

c++ - 如何在 x86-64 上优化 C 和 C++ 中的函数返回值?

x86-64ABI指定两个返回寄存器:rax和rdx,大小均为64位(8字节)。假设x86-64是唯一的目标平台,这两个功能中的哪一个:uint64_tf(uint64_t*constsecondReturnValue){/*Calculateaandb.*/*secondReturnValue=b;returna;}std::pairg(){/*Calculateaandb,sameasinf()above.*/return{a,b};}考虑到针对x86-64的C/C++编译器的当前状态,会产生更好的性能吗?使用一个或另一个版本在性能方面是否存在任何缺陷?编译器(GCC、Clang)

c++ - 返回元组时 GCC/Clang x86_64 C++ ABI 不匹配?

尝试tooptimizereturnvaluesonx86_64时,我注意到一件奇怪的事情。即,给定代码:#include#include#includeusingnamespacestd;constexpruint64_ta=1u;constexpruint64_tb=2u;pairf(){return{a,b};}tupleg(){returntuple{a,b};}Clang3.8outputsf的这个汇编代码:movl$1,%eaxmovl$2,%edxretq这对于g:movl$2,%eaxmovl$1,%edxretq看起来最佳。然而,当compiledwithGCC6.1

c++ - 在 x86 机器上移动超过 32 位的 uint64_t 整数未定义行为?

学习艰难,我尝试在x86机器上将longlong和uint64_t左移到32位以上,结果0.我隐约记得在某处读过比32位机器移位运算符仅在前32位上工作但无法记忆来源。我想知道在x86机器上移动超过32位的uint64_t整数是否是未定义行为? 最佳答案 标准说(n1570中的6.5.7):3Theintegerpromotionsareperformedoneachoftheoperands.Thetypeoftheresultisthatofthepromotedleftoperand.Ifthevalueoftherighto

c++ - 寻找 16 位 x86 编译器

我正在从事一个嵌入式系统项目,并且遇到了编译器以编程方式嵌入到ParadigmC++IDE中的问题。我希望能够自动构建。处理器是AMD186ES。我没有使用操作系统-只是裸机的东西。我需要从C++生成实模式16位8086机器代码。我的谷歌搜索表明G++可以构建这样的代码。我的问题是:可以配置g++来构建这个机器码吗?是否有其他C++编译器也可以做到这一点? 最佳答案 您最好的选择可能是OpenWatcom,其中包括一个C++编译器。早在90年代初到中期,我相信这是最好的C/C++编译器。它是几年前开源的。

c++ - 另一个 "ld: symbol(s) not found for architecture x86_64"问题与 boost,这次是 mgiza

对于提出如此常见的问题,我深表歉意;我找不到任何可行或足够清晰的解决方案让我实现。我只是想安装mgiza.这是安装文件:cmake.makemakeinstallIfyouwanttoinstalltoacustomlocation,addthefollowingflagwhenyouruncmake:-DCMAKE_INSTALL_PREFIX=/path/to/custom/locationNOTE:BoostVersion1.48hasproblemwiththecode,youcanuseeither1.46or1.50+.Unfortunately1.48isshippedw

c++ - x86(_64) 上的原子计数器和自旋锁的成本

前言我最近遇到了一些同步问题,这导致我访问了spinlocks和atomiccounters.然后我又搜索了一下,这些是如何工作的,发现std::memory_order和内存屏障(mfence、lfence和sfence)。所以现在看来​​,我应该对自旋锁使用acquire/release,对计数器使用relaxed。一些引用x86MFENCE-MemoryFencex86LOCK-AssertLOCK#Signal问题默认情况下,这三个操作(锁定=test_and_set,解锁=clear,增量=operator++=fetch_add)的机器代码是什么(编辑:见下文)(seq_c

c++ - 如何捕获 x86 上的数据对齐错误(Sparc 上的 SIGBUS)

是否有可能在i386上捕获数据对齐错误?也许通过设置一个i386特定的机器寄存器或类似的东西。在这种情况下,在Solaris-Sparc上我收到了SIGBUS,但在i386上一切正常。环境:32位应用程序Ubuntu业力gcc/g++v4.4.1编辑:这就是我问这个的原因:我们的应用程序在使用SIGBUS的Sol-Sparc上崩溃。出于调试的目的,我会尝试在我们的i386平台上获得类似的行为。我们的Sol-sparc机器非常慢,因此在那里编译和调试需要很长时间。而且我们的i386机器速度惊人(8核,32G内存)。即使在i386平台上,也存在数据对齐错误的性能成本。因此,我希望尽可能修复

c++ - 我的 x86 目标文件中这些看似无用的 callq 指令有什么用?

我有一些模板繁重的C++代码,我想确保编译器尽可能优化,因为它在编译时拥有大量信息。为了评估它的性能,我决定看看它生成的目标文件的反汇编。下面是我从objdump-dC得到的片段:0000000000000000::get(bool)>:0:4157push%r152:4989f7mov%rsi,%r155:4156push%r147:4155push%r139:4154push%r12b:55push%rbpc:53push%rbxd:4881ec68020000sub$0x268,%rsp14:48897c2410mov%rdi,0x10(%rsp)19:4889f7mov%rsi