草庐IT

Microsoft

全部标签

c++ - 如何通过 C++ 可执行文件中的 list 启用 "Long Path Aware"行为?

我正在尝试关注Microsoftdocumentation解除Windows10下API中的MAX_PATH文件路径限制。它说:Youcanalsoenablethenewlongpathbehaviorperappviathemanifest:true所以,第一个问题。是否可以在VisualStudio2017的项目属性中启用它?第二个问题:我没有找到上面的答案,所以我决定走手动路线:我创建了additional.manifest文本文件:true然后我将它添加到项目属性中:但是当我编译它时,它给了我这个警告,并且该list在应用程序运行时似乎没有任何效果:1>additional.

c++ - 如何在 Visual Studio 中更改 C++ 标准库实现

我想将Microsoft的C++标准库更改为另一个支持C++17标准的标准库。我的意思是用libstdc++或libc++交换vslib有可能吗?我不知道该怎么做。 最佳答案 据我所知,VS2017对c++17有一些部分支持。它不仅与库有关,还与编译器对新功能的支持有关。所以,简单的回答:最好按原样使用VS2017,你甚至可以用clangwithmicrosoftcodegen编译. 关于c++-如何在VisualStudio中更改C++标准库实现,我们在StackOverflow上找到

c++ - INetSharingConfiguration->EnableSharing( ICSSHARINGTYPE_PUBLIC ) 返回 0x80040201

我正在尝试以编程方式在与Windows7计算机上的已知GUID匹配的设备上启用共享类型public的共享。API位于:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365944(v=vs.85).aspx错误列表显示如下:E_ABORT、E_FAIL、E_INVALIDARG、E_NOINTERFACE、E_NOTIMPL、E_OUTOFMEMORY、E_POINTER和E_UNEXPECTED。我返回的错误代码是0x80040201,解析为:“事件无法调用任何订阅者。”这似乎与上面列出的任何错误代码都不匹配。如果我

c++ - 这是 "new auto(enum_type)"的 Microsoft VC++ 2010 编译器错误吗

环境:MicrosoftVisualStudio2010withSP1Preminum(10.0.40219.1SP1Rel),WindowsXPSP3VC10编译器支持auto关键字,但推导的类型相关信息对于枚举似乎并不总是正确的。例子:#includeenumfruit_t{apple=100,banana=200,};intmain(){constautopa=newauto(banana);constautopb=newfruit_t(banana);static_assert(std::is_same::value,"notsame!");deletepb;deletepa;

c++ - 使用 gdb 在 MS VC++ 2010 Express 中编译的调试程序

是否可以使用MicrosoftVisualC++Express构建可执行文件,以便使用gdb对其进行调试?我尝试使用C7兼容的/Z7编译器选项和/debug链接器选项,但生成的.pdb文件无法被gdb识别:(gdb)symbol-fileHelloWorldVC.pdb`HelloWorldVC.pdb':can'treadsymbols:Fileformatnotrecognized. 最佳答案 GDB的调试格式与Microsoft的编译器不同。实际上,没有记录PDB格式。因此,您不能将Microsoft编译器生成的调试信息与GD

c++ - 有状态 lambda 问题 - Microsoft 编译器版本 19.16.27024.1

您好,我对有状态的lambda表达式有疑问。这是一个虚拟示例,但在我看来,ms编译器做错了什么,或者我有一些未定义的行为?代码:intmain(){autostart=[x=1,z=1]()mutable{gotoresume;for(;;++z){for(x=1;x3)return1;}}};start();}微软编译器版本19.16.27024.1cl-O2/std:c++17(or-O1,-Ox)----->打印'1'然后无限数量的'2'(我认为是错误的)cl-Od/std:c++17----->打印12334g++(Ubuntu7.3.0-27ubuntu1~18.04)7.3

c++ - 在没有 Microsoft 扩展的情况下在 Visual C++ 中构建

这个问题在这里已经有了答案:/ZacompilerdirectivedoesnotcompilesystemheadersinVS2010(2个答案)关闭8年前。我正在尝试在禁用所有非标准扩展的MicrosoftVisualC++2013中构建项目。#ifdef_MSC_VER#include#endif在配置属性-->C/C++-->语言中,我将“禁用语言扩展”设置为是(/Za)。但是,构建以前的代码时出现如下错误:C:\ProgramFiles(x86)\WindowsKits\8.1\Include\um\winnt.h(11527):errorC2467:illegaldecl

c++ - VS c++ 和 MinGW 实现 double 类型有什么区别

同样的代码在VSc++和MinGW中运行得到不同的结果。结果是double类型。示例:在VSC++中得到“-6.397745731873350”,但在MinGW中得到“-6.397745731873378”。有垃圾不同。但我不知道为什么? 最佳答案 我敢猜测这是两种可能性之一。当WindowsNT是新的,并且它们支持移植到其他处理器(例如MIPS和DECAlpha)时,MS有一点问题:处理器都有64位浮点类型,但它们有时会生成结果略有不同。DECAlpha对64位double作为64位double进行了计算。x86上的默认模式有点不

c# - 在 Windows C++ 或 C# 中,您可以询问操作系统当前是否正在关闭/重新启动/注销

我在关机期间遇到了一个问题。我有一段用C++编写的代码,它被包装在一个.dll中并注入(inject)到其他应用程序中。它做了很多事情,包括启动另一个用C#编写的应用程序(服务器)。但是,启动关机后,C++代码启动了C#应用程序,因为它被关机杀死了,因为系统即将关机而迅速崩溃。然后一个错误框会停止关闭,直到用户处理它,这很烦人。有没有办法询问操作系统,“嘿,你要关闭/重启/注销吗?”所以我不会在发生这种情况时启动应用程序?我想两端的解决方案都可以。==编辑==再多说一点。作为注入(inject)的.dll运行的代码不能假设其注入(inject)的应用程序具有任何类型的“窗口”。另外,我

c++ - Microsoft 的 GCC 选项 init_priority 是什么?

在编译和链接C++库或程序时,无法保证翻译单元之间静态C++对象的初始化顺序。GCCoffersinit_priority解决静态存档、共享对象和程序的问题:init_priority(priority)    InStandardC++,objectsdefinedatnamespacescopeareguaranteedto    beinitializedinanorderinstrictaccordancewiththatoftheir    definitionsinagiventranslationunit.Noguaranteeismadefor    initializ