Tag: visual c ++

Visual Studio 2010 – C ++项目 – 删除* .sdf文件

我想知道是否可以安全地删除存储Visual Studio Intellisense信息的sdf文件 – 下次打开解决scheme时是否会重build? 我这样做会失去什么吗? 这样可以解决这个问题吗? 这样做的动机是,通过存储多个小型项目 – 每个sdf文件的大小差不多是20Mb,这就增加了大量的磁盘空间。

在MS Visual C ++中启用VLAs(可变长度数组)?

我怎样才能使用在Visual C ++中定义的VLA,可变长度的数组,如C99,或者根本不可能? 是的,我知道C ++标准是基于C89的,并且在C89标准中没有可用的VLA,因此在C ++中是不可用的,但MSVC ++也应该是C编译器,也可以使用/ TC编译参数( Compile as C Code (/TC) )。 但是这样做似乎并没有启用VLA,编译过程在编译为C ++( Compile as C++ Code (/TP) )时也会出现相同的错误。 也许MSVC ++ C编译器只是C89兼容或我缺less的东西(一些特殊的结构或编译/定义)? 代码示例: #include <stdlib.h> int main(int argc, char **argv) { char pc[argc+5]; /* do something useful with pc */ return EXIT_SUCCESS; } 编译错误: 错误C2057:预期的常量expression式 错误C2466:不能分配一个常量大小为0的数组 错误C2133:'pc':未知的大小

如何获取窗口的位图对象在C + +的屏幕截图?

如何获取窗口的位图对象在C + +的屏幕截图? 假设我已经有窗口句柄了。 而且我也想知道当它处于最小化状态时是否可以获得窗口的屏幕截图 ? 这里的C ++是指所有与Windows XP +(win32)相关的库的VC ++。

如何使Visual Studio将DLL文件复制到输出目录?

我有一个Visual Studio C ++项目依赖于外部DLL文件。 我怎样才能使Visual Studio复制这个DLL文件自动到输出目录(debugging/释放),当我build立项目?

GCC与Visual Studio?

在Visual Studio 2008中使用GCC而不是VC ++有多难? 显然,一些关键字不匹配,有些可能不会得到语法突出显示(除非您提供了新的语言服务)。 这几乎是一个“生成文件项目”?

memset()或值初始化零结构?

在Win32 API编程中,通常使用具有多个字段的C struct 。 通常只有其中的一些有意义的价值,所有其他的都必须被清除。 这可以通过两种方式来实现: STRUCT theStruct; memset( &theStruct, 0, sizeof( STRUCT ) ); 要么 STRUCT theStruct = {}; 第二个变种看起来更清洁 – 这是一个单线,它没有任何参数,可能错误input,导致错误被种植。 与第一个变体相比,它有什么缺点吗? 使用哪个变体,为什么?

如何使用WinDbg来分析VC ++应用程序的崩溃转储?

如何使用WinDbg分析转储文件?

Microsoft Visual Studio:opendir()和readdir()如何?

我以前在Dev-cpp中使用过这种代码: if((dh = opendir(folder)) !== false){ while((file = readdir(dh)) !== false){ // do my stuff } closedir(dh); } 但现在我正在使用MSVC ++,我不知道如何添加这些文件,我试图在那里复制dirent.h / dir.h / errno.h,但它给出了另一个与这些文件中包含的文件有关的错误.. 。通过查看文件,我看到那里的东西,所以它的编译器相关的东西? idk什么编译器MSVC ++使用,但是有可能在MSVC ++中复制这些文件,并得到它的工作? 我试图从MSDN查找一些代码,但它真的搞砸了,所以即时通讯希望我可以使用上面的这些function…

为什么浮点数值如3.14在默认情况下被认为是MSVC的两倍?

为什么我需要把3.14f而不是3.14来禁用所有这些警告? 这有一个连贯的理由吗?

initializer_list vs 2013中的双重删除

今天在我的项目中遇到一个内存问题,用一个使用c ++ 11 initializer_list的类。 系统发出内存问题:dbgdel.cpp中的expression式_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)我把代码简化为一个简单的例子,它不再抛出一个expression式,但是从debugging输出中问题变得明显。代码是正确的,也似乎与g ++的工作。 #include <functional> #include <memory> #include <string> #include <iostream> #include <vector> #include <map> #include <sstream> #include <initializer_list> using namespace std; class B { public: char data[256]; B(const string& x) { cout << "Init " << this << endl; } B(const B& b) { cout << "Copy " << this […]