visual-c++-2008-express
全部标签 我构建了一个C++应用程序来执行一些数字运算。我在VisualStudio2008PROSP1中运行,在Release模式下,Windows764位。如果我在IDE中运行它,应用程序需要4分钟,如果我从Windows资源管理器运行相同的可执行文件,则需要6秒!我没有线索。我已经检查过这不取决于处理器和操作系统。我不认为我有在后台执行某些操作的奇怪VS插件。有什么提示吗?提前致谢!马可 最佳答案 据推测,速度减慢是由于在VisualStudio中启动应用程序时连接的调试器造成的。即使您在“发布”模式下构建程序也是如此。要确认这确实是您
在开始之前,我想说明一下,我是一名新手,很可能我错过了一些简单的事情,或者我只是不知道一些简单的事情。我想使用visualstudio进行一些线程练习,但我无法将其包含在我的代码顶部。我知道这是C++11的新功能,但我不确定它是否已为VisualStudio2010启用,或者如果未启用,我不确定我将如何去做。这是我的代码的截图: 最佳答案 你不能:C++11的线程支持库不受VS2010附带的C++标准库的实现支持。如果你想使用它,你应该升级到VS2012。或者,您可以使用Boost.Thread,它为C++11的标准线程支持库提供了
这个问题在这里已经有了答案:WhereandwhydoIhavetoputthe"template"and"typename"keywords?(8个答案)关闭7年前。最小工作示例:#includestructPrinter{templatestaticvoidprint(Telem){std::coutstructMain{templatevoidprint(Telem){//Inthiscase,thecompilercouldguessTfromthecontext//Butinmycase,assumethatIneedtospecifyT.printer_t::print(e
如何在代码中检查VisualStudio编译器是否启用了SSE/SSE2?我已经尝试过#ifdef__SSE__但它没有用。 最佳答案 关于_M_IX86_FP的一些附加信息。_M_IX86_FP仅为32位代码定义。64位x86代码至少有SSE2。您可以使用_M_AMD64或_M_X64来确定代码是否为64位。#ifdef__AVX2__//AVX2#elifdefined(__AVX__)//AVX#elif(defined(_M_AMD64)||defined(_M_X64))//SSE2x64#elif_M_IX86_FP==
我在codepad.org上运行以下代码时出现此错误。“在成员函数‘doubleXchange::getprice(std::string)’中:第87行:警告:有符号和无符号整数表达式之间的比较”这是我的代码:#include#include#includeusingnamespacestd;classXchange{public:Xchange();//doesnothing(?)doublegetprice(stringsymbol);private:vectorstocks;};doubleXchange::getprice(stringsymbol){for(inti=0;i
我已经正确编译了boost二进制文件并按照所有说明进行操作,但是我遇到了很多错误,我不知道为什么!这是我的“包含”设置:这是我用来测试boost的代码:#include//includeboost#includeusingnamespacestd;usingnamespaceboost::asio;//savetonsoftyping//Thesearethevaluesourportneedstoconnect#ifdef_WIN32//windowsusescomports,thisdependsonwhatcomportyourcableispluggedinto.constch
文章中Linearvs.BinarySearch,有一个使用CMOV指令的二进制搜索的快速实现。我想在VC++中实现它,因为我正在处理的应用程序依赖于二进制搜索的性能。该实现有一些GCC内联汇编器,声明如下:staticintbinary_cmov(constint*arr,intn,intkey){intmin=0,max=n;while(min>1;asm("cmpl%3,%2\n\tcmovg%4,%0\n\tcmovle%5,%1":"+r"(min),"+r"(max):"r"(key),"g"(arr[middle]),"g"(middle+1),"g"(middle));
以下代码在VisualStudio2017中使用MSVC编译器编译,但在GCC或Clang中编译失败。#include#includevoidfunctionTest(std::function){std::cout要解决这个问题,我们可以像这样使用enable_if:#include#includevoidfunctionTest(std::function){std::cout::value>::type>voidfunctionTest(BOOL_TYPE){std::cout或者我可以通过引入用户类型而不是bool来消除歧义(如果构造函数存在歧义问题,您需要这样做):#incl
我已经尝试过每一个选项,试图找到一种方法让IDE让我创建一个没有预编译头文件的新win32pject。我已经阅读了这个论坛上的每个线程,其中包含“precpmpiledheaders”字样,我得到的最接近的是:PrecompiledHeaders使用2008pro(不明确,虽然行为似乎相似)我去:文件->新建->项目这将打开“新建项目”对话框,我在其中选择“VisualC++Win32项目”,输入名称并单击“确定”。然后我得到“Win32应用程序向导”。将应用程序类型设置为“Windows应用程序”后,应用程序设置Pane将不允许我取消选中预编译的header。复选框变灰。如果我选择“
我正在尝试创建一个简单的Win32应用程序的可执行文件,该应用程序必须能够在WindowsXP和WindowsVista/2008上运行。由于Vista工作方式的一些变化,必须调用一些额外的Win32API才能使程序像在XP上一样正常运行。目前我检测应用程序是否在比XP更新的Windows版本上运行,并根据需要调用额外的win32函数。这在Vista和Server2008上运行时工作正常,但在WindowsXP上运行时失败。在WindowsXP上,程序启动时出现错误消息:无法在动态链接库USER32.DLL中找到过程入口点ShutdownBlockReasonCreate。这发生在我的