草庐IT

C++条件编译

全部标签

c# - Visual Studio 2012 条件捆绑

我刚开始使用VS2012RC。我创建了一个带有母版页和单个Web表单的测试站点。目前,我正在使用此代码捆绑网站上的整个Styles文件夹:Global.asaxBundleTable.Bundles.EnableDefaultBundles();网站管理员问题:测试站点有一个站点级CSS文件,用于控制站点的整体外观。除了站点级CSS之外,每个页面可以有自己的CSS定义。是否可以在母版页中仅包含site.css文件,然后根据每个页面的需要有条件地将.css文件添加到包中?我在Default.aspx的代码后面试过这个,但没有成功:BundleTable.Bundles.Add(newBu

c# - Visual Studio Community 2015 调试器在带有 "Evaluation of native methods is not supported"的条件断点处结束 - 如何修复?

我有一个条件断点,条件检查字符串的值,如果为真则停止。它停止了,但随后打开一个窗口说:断点的条件无法执行...返回的错误是“评估方法System.Collections.Specialized.NameValueCollection.get_Item()调用native方法”System.Globalization.TextInfo.Internal.GetCaseInsHash().不支持在此上下文中评估native方法。'。单击“确定”在此断点处停止。我搜索了答案,但他们说启用托管兼容模式,但没有用。 最佳答案 在项目调试设置下

c# - 为什么 C# 编译器显式声明一个类型实现的所有接口(interface)?

C#编译器似乎明确指出它的所有接口(interface)及其基类实现。CLI规范说这不是必需的。我已经看到其他一些编译器没有明确发出这个,而且它似乎工作正常。C#这样做有什么区别或原因吗?底层的C#为B生成的MSIL是:.classprivateautoansibeforefieldinitBextendsAimplementsIAdvanced,ISimple它不需要指定ISimple,因为A像IAdvanced一样实现它。C#代码:interfaceISimple{intBasic{get;}intZero{get;}}interfaceIAdvanced:ISimple{stri

c# - C# 编译器和 C++/CLI 编译器的输出之间的差异

我有一个WPF应用程序,它在大型数据集之间进行大量匹配,目前它使用C#和LINQ来匹配POCO并在网格中显示。随着包含的数据集数量和数据量的增加,我被要求查看性能问题。我今晚测试的假设之一是,如果我们将一些代码转换为C++CLI,是否会有实质性差异。为此,我编写了一个简单的测试来创建一个List有5,000,000个项目,然后做一些简单的匹配。基本的对象结构是:publicclassCsClassWithProps{publicCsClassWithProps(){CreateDate=DateTime.Now;}publiclongId{get;set;}publicstringNa

c# - 您能否使用 Mono/LLVM 生成比使用 Microsoft 的 C# 编译器更快的 .NET 应用程序?

MonowithLLVM项目能够使用LLVM编译器后端,它有一些非常强大的优化来编译C#.NET项目,这使得它在计算密集型应用程序中的运行速度提高了大约20%。MonoisnowabletouseLLVMasabackendforcodegenerationinadditiontoMono'sbuilt-inJITcompiler.ThisallowsMonotobenefitfromallofthecompileroptimizationsdoneinLLVM.ForexampletheSciMarkscoregoesfrom482to610.那么是否可以将现有的C#.NET项目定位

c# - 为什么 C# 编译器重载解析算法将具有相同签名的静态成员和实例成员视为相等?

让我们有两个签名相同的成员,但一个是静态的而另一个不是:classFoo{publicvoidTest(){Console.WriteLine("instance");}publicstaticvoidTest(){Console.WriteLine("static");}}但是这样的代码生成会带来编译错误:Type'Foo'alreadydefinesamembercalled'Test'withthesameparametertypes但为什么呢?让我们编译成功,然后:Foo.Test()应该输出“static”newFoo().Test();应该输出“instance”不能调用静

c# - 反编译源中不寻常的 C# 运算符...?

我刚刚使用DotPeek反编译了一些第3方源代码以调试问题。输出代码包含一些不寻常的运算符,AFAIK不是有效的C#,所以我想知道它们是什么意思...摘录看起来像(包括Dotpeek评论,因为它们可能是相关的);protectedinternalvoidDoReceive(refbyte[]Buffer,intMaxSize,outintWritten){Written=0;...//ISSUE:explicitreferenceoperation//ISSUE:variableofareferencetypeint&local=@Written;intnum=SomeMethod()

c# - 为什么编译器不允许在 catch block 中使用 await

假设我有一个异步方法:publicasyncTaskDo(){awaitTask.Delay(1000);}另一种方法是尝试在catchblock中调用Do方法publicasyncTaskDoMore(){try{}catch(Exception){awaitDo();//compilederror.}}但是这样一来,编译器就不允许在catch中使用await了,有没有什么原因导致我们不能那样使用它? 最佳答案 更新这将在C#6中得到支持。事实证明,这并非根本不可能,并且该团队想出了如何做到这一点而又不会在实现过程中陷入困境:)原

c# - 在附加条件下寻找最快路径

我想知道,当无向图中存在多个直接连接时,Dijkstra算法是否会正常工作。例如:我想使用Dijkstra找到最快路径,但是还有一个附加条件。边缘上所有additional_data的总和不能>=x。因此,如果出现权重为3的边使用错误,我的程序将尝试使用第二条边。编辑:我的任务是找到最快的路径,附加条件是边缘的additional_data总和不能高于x。你能告诉我如何处理这个问题吗?edit2:(设置赏金)我一直在研究互联网,直到找到这个link.有一个关于如何做我要求的事情的解释。(中高级能力)我已经尝试以某种方式使用它2天了,但我担心我没有正确理解这个算法。我想请你们中的一些人帮

c# - 带有 C# 项目的 Visual Studio 12 Professional 中的编译问题

该项目在VisualStudio2010中运行良好,我们升级到VisualStudio2012;但是,现在它无法编译。我们收到以下错误:Error2Taskcouldnotfind"AL.exe"usingtheSdkToolsPath""ortheregistrykey"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86".MakesuretheSdkToolsPathissetandthetoolexistsinthecorrectprocessorspe