jjzjj

c++ - __builtin__FUNCTION() 是否有 MSVC 等价物?

根据这个answer我们可以在GCC中使用__builtin__FUNCTION()找到调用函数的名称。是否有MSVC等效项? 最佳答案 std::source_location将是future的跨平台解决方案,让您可以:voidlog(conststd::string&message,conststd::experimental::source_location&location=std::experimental::source_location::current()){std::cout在此之前,我所知道的最佳解决方案是使用宏

c++ - 为什么这段代码用 g++ 而不是 MSVC++ 编译?

我正在尝试编译一些开源代码(https://github.com/BieremaBoyzProgramming/bbpPairings),我可以使用g++(v6.3.0)在linux上编译这些代码,但无法在Visual中编译Studio(VSCommunity2019/16.1.5),有点晦涩难懂(对我来说,但我的C++确实很弱)错误:“错误C2143:语法错误:缺少';'在“源代码中的违规代码是here,但从代码中提取的最小示例是:#include#includeclassConfiguration{};classMatchesConfiguration{public:templat

c++ - 在 Qt Creator 中禁用编译器警告项目范围(使用 MSVC 时)

我想禁用特定警告,例如C++warningC4018:',但在整个项目范围内。我需要在我的.pro文件中放入什么才能达到这种效果? 最佳答案 将以下行添加到您的PRO文件中:QMAKE_CXXFLAGS+=/wd4996 关于c++-在QtCreator中禁用编译器警告项目范围(使用MSVC时),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18454509/

ios - Xcode stdint.h #error 只有在使用 MSVC 编译时才应包含此文件

我在Xcode中有一个CocoaPodsReactNative项目,在过去几个月里,它99%的时间都在工作。(这1%是像这样的随机内容、链接器错误等……似乎是随机出现和消失的)。我今天安装了一个新的Pod及其相应的npm依赖项,过去我添加pod时有时会遇到问题,直到我尝试诸如poddeintegrate、podinstall,例如,react-nativelink并清理Xcode项目。但这一次似乎没有任何解决办法。每次我构建时,无论是模拟器还是物理设备,我都会从stdint.h得到以下错误只有在使用MSVC编译时才应包含此文件。找到错误源也很容易,它是在stdint.h中明确由用户定义

c++ - Clang 与 GCC 与 MSVC 中的 SFINAE 和可见性检查——哪个是正确的?

我已经写了我对is_default_constructible的C++03兼容实现的尝试:templatestructis_default_constructible;templatestructis_default_constructible{protected://Putbasetypedefsheretoavoidpollutionstructtwoc{chara,b;};templatestructtest{typedefchartype;};templatestaticTdeclval();};templatestructis_default_constructible::t

c++ - 为什么 MSVC 的自动矢量化不使用 AVX2?

我正在尝试在我的编译器(MicrosoftVisualStudio2013)中使用矢量化。我面临的问题之一是它不想使用AVX2。在研究这个问题时,我构建了以下示例,该示例计算16个数字的总和,每个数字都是16位。int16_tinput1[16]={0};int16_tinput2[16]={0};...//fillthearrayswithsomedata//Calculatethesumusingaloopint16_toutput1[16]={0};for(intx=0;x编译器将此代码矢量化,但仅限于SSE指令:vmovdquxmm1,xmmwordptr[rbp+rax]le

c++ - enable_if + std::less + sizeof... 的组合使 MSVC 失败

这是一个非常简单的代码:template()(sizeof...(Args),3),int>::type*=nullptr>voidtest(std::tuple){}intmain(){test(std::make_tuple(1,2));}它只是简单的函数模板,带有一些enable_if健康)状况。(进一步的SFINAE)。但是它无法在VisualStudio2019withC++17设置中编译。errorC2672:'test':nomatchingoverloadedfunctionfounderrorC2783:'voidtest(std::tuple)':couldnotd

c++ - std::put_time 的 MSVC 实现

我正在使用MicrosoftVisualStudio2012,并且正在考虑使用std::put_time,因此我创建了以下示例:intmain(){std::time_tt=std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());std::locale::global(std::locale("en-GB"));std::cout这会产生以下输出:06/25/2013这不是我期望的en-GB语言环境的日期格式。我也试过:std::cout.imbue(std::locale("en-GB"));但是,

c++ - MSVC2015 更新 3 可变参数模板解决方法

VisualStudio2015update3改进了对C++11的支持,但我遇到了一个奇怪的问题,我正在寻找解决方法。当使用MSVC为模板类型参数(“完全定义的类型”)编译可变参数模板代码时,一切正常,但如果我想使用模板模板参数(“部分定义的类型”),结果就会变得不正确。#includeusingnamespacestd;templateclass...TS>structPARTIAL{staticvoidtest(std::ostream&out){outclassT>structPARTIAL{staticvoidtest(std::ostream&out){outclassT,t

c++ - 如何让 MSVC 将未初始化的数据放入 .bss?

我正在使用自定义构建系统(在VisualStudio之外)构建DLL,但我无法让未初始化的数据显示在.bss部分中;编译器将其合并到.data中。这会膨胀最终的二进制大小,因为它充满了巨大的零数组。例如(示例中的1KB小数组,但实际缓冲区要大得多):intuninitialized[1024];intinitialized[1024]={123};编译器像这样发出程序集:PUBLIC_initialized_DATASEGMENTCOMM_uninitialized:DWORD:0400H_initializedDD07bHORG$+4092_DATAENDS最终在目标文件中是这样的: