草庐IT

excel-2013

全部标签

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++ - initializer_list 与 2013 中的双重删除

今天在我的项目中遇到了内存问题,其中一个类使用了c++11initializer_list。系统发出内存问题的信号:“dbgdel.cpp中的表达式_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)。我将代码简化为一个简单的示例,它不再抛出表达式,但问题在调试输出中变得明显。在我看来,这代码是正确的,它似乎也适用于g++。#include#include#include#include#include#include#include#includeusingnamespacestd;classB{public:chardata[256];B(conststri

c++ - 非托管 C++ 中的 XLL Excel 插件

我在非托管C++中进行了一些数学模拟,现在我需要将它们与Excel集成(以便可以从Excel调用函数并取回值)。我不想使用任何VBA,所以我想我必须实现一个XLL插件。我想尽可能少地使用第三方附加框架。有人能指点我一个好的教程吗? 最佳答案 开始使用SDK可能有点不愉快。我建议您尝试以下工具包之一:XLW(http://xlw.sourceforge.net/)是一个标准的开源C/C++包装器。KeithLewis的NXLL库(http://nxll.codeplex.com/)可能值得一看,如果您喜欢冒险,并且喜欢现代风格的C++

c++ - 我相信 clang 错误地允许内联友元函数访问封闭范围内的数据。 gcc 和 vs2013 都拒绝此代码

友元函数f无权访问封闭类A的私有(private)成员。#includeclassA{conststaticintp=1;classB{friendvoidf(){std::cout至少,我认为N4140中的[class.nest]/4是这样说的(见下文)。§9.7/4Likeamemberfunction,afriendfunction(11.3)definedwithinanestedclassisinthelexicalscopeofthatclass;itobeysthesamerulesfornamebindingasastaticmemberfunctionofthatcl

c++ - Visual Studio 2013 msvcr120 到 msvcr100

是否可以将restrib文件更改为msvcr100以便其他计算机可以运行该程序而不会遇到.dll文件的问题?如果是这样,我该如何获得?我确实编译了程序,但由于缺少msvcr120.dll文件,其他人无法使用它。所以如果我能以某种方式改变它会很棒。是否可以在没有旧Visualstudio版本的情况下安装Plattformtoolset? 最佳答案 你有几个选择:在机器上安装VS2010,并将PlatformToolset选项设置为v100。从here安装WindowsSDKv7.0A,应该/可以在VS2013的平台工具集菜单中添加一个

c++ - Visual Studio 2013 运行项目两次

当我在VisualStudio2013中处理任何基本C++项目时按下“本地Windows调试器”按钮时,控制台打开并且程序输出,但是当控制台关闭时,另一个控制台打开,UI略有变化,程序再次输出。重现步骤:创建一个新的C++项目在新项目的“SourceFiles”目录下,创建一个名为“main.cpp”的文件将一个基本的helloworld程序放入文件中:#includeusingnamespacestd;intmain(){cout保存代码并按下工具栏上的“本地窗口调试器”按钮控制台会打开,并等待您按回车第一个控制台关闭后,会打开一个新控制台,并且UI会发生变化:编辑:下载包含项目的z

c++ - Visual Studio 2013 (vs120) 要求错误的 boost 库

我正在尝试使用VisualStudio2013在Windows7上编译我的一个项目。我已经安装了Boost1.53并使用cmake设置了解决方案。现在发生的情况是,boost的编译库的格式为libboost_*-vc120-mt(-gd)-1_53.lib。在链接器项目选项中,在输入选项卡下,我已经验证了我需要的库在那里,实际上编译器能够正确读取它们。但是,出于某种我完全无法理解的原因,链接器也在尝试查找编译为vc110的库。例如:errorLNK1104:cannotopenfile'libboost_filesystem-vc110-mt-gd-1_53.lib'项目选项中列出的平

C++11 线程与异步性能(VS2013)

我觉得我在这里错过了一些东西......我稍微修改了一些代码,将使用std::thread更改为std::async并注意到性能大幅提升。我编写了一个简单的测试,我假设它使用std::thread运行几乎与使用std::async运行相同。std::atomicsomeCount=0;constintTHREADS=200;std::vectorthreadVec(THREADS);std::vector>futureVec(THREADS);autolam=[&](){for(inti=0;i我没有深入分析,但一些初步结果表明std::async代码的运行速度似乎快了10倍!关闭优化

c++ - Visual Studio 2013 : fatal error C1083: Cannot open include file: 'winsock2.h' : No such file or directory

我将一些“native”c++项目从Windows7上的VisualStudio2010迁移到Windows8.1上的VisualStudio2013。重建给了我这个错误。我意识到我没有安装WindowsSDK,所以我接下来安装了它,但我仍然收到错误消息。还有其他人在其他干净的VS项目迁移中得到这个吗? 最佳答案 我在SDK文件夹下搜索了丢失的文件并找到了它。因为SDK是在我迁移项目后安装的,所以路径未包含在我的项目中。我能够通过添加到我的包含和库路径来解决所有问题。我将以下文件夹添加到我的包含路径中:$(WindowsSdkDir

c++ - VS2013中构造函数调用自身时会发生什么?

classIA{public:virtualvoidPrint()=0;}IA*GetA();classA:publicIA{public:intnum=10;A(){GetA()->Print();}voidPrint(){std::cout显然,A类的构造函数会调用自身。“staticAa”会陷入循环。在VS2013上,这段代码可以跳出循环并在控制台打印“End”。在VS2017上,此代码陷入循环。**VS2013对这段代码做了什么? 最佳答案 没有什么特别需要发生的。根据C++标准:[stmt.dcl](emphasismin