visual-c++相关内容

最便携和可靠的方式获取C ++中变量的地址

使用& 获取变量的地址可能会有问题,如果变量类型已重载 operator&()。例如, _com_ptr_ 具有运算符和( )重载了修改对象的副作用。 现在我有一个复杂的模板集,其功能如下: 模板 void process(const T * object) { // whatever } template void try ..
发布时间:2016-10-14 11:05:13 C/C++开发

在由g ++(mingw)编译的应用程序中使用Visual Studio编译的库

是否可以在Windows上使用由g ++(mingw)编译的应用程序中由visual studio编译的库? 解决方案 如果库是用C ++编写的,并且暴露了一个C ++接口:no(因为g ++和VC ++之间名称不同)。 如果库是使用C语言编写的静态库(或使用 extern“C”接口):是,但某些注意事项适用。 如果库是具有C接口的DLL:是的,但您必须创建您的自己的导入库 ..
发布时间:2016-10-14 10:52:45 C/C++开发

确定日期之间的差异

我试图找出一个方法让我的程序取一个日期(如2003年2月2日),并显示两者之间的差异与另一个日期(如2012年4月2日,不包括闰年)。到目前为止,我只能确定如果日期在同一个月,只是通过减去“日”。在这个程序中,我使用2套“月”,“日”和“年”整数。我从这里走到哪里都很迷茫。这是我任务的一个完全可选的部分,但我想知道如何让它工作。这似乎对我很麻烦,但也许有一个简单的数学公式我不在想。 对不起, ..
发布时间:2016-10-14 10:52:42 C/C++开发

VS2003 C ++中不正常的堆大小限制

我有一个C ++应用程序,它使用大型数据数组,并注意到,当它运行内存不足,而仍有大量的内存可用。我已将代码缩减为一个示例测试用例,如下所示: void MemTest() { size_t Size = 500 * 1024 * 1024; // 512mb if(Size> _HEAP_MAXREQ) TRACE(“Invalid Size”); void * mem = ..
发布时间:2016-10-14 10:50:01 C/C++开发

如何使用C预处理器将连接的字符串转换为宽字符?

我正在一个项目中,我有许多由连接(数字等)形成的常量字符串。 例如,我有一个 LOCATION 宏格式化为 __ FILE __ 和 __ LINE __ 知道我在代码中的位置,当打印消息或错误时: #define _STR(x)#x #define STR(x)_STR(x) #define LOCATION __FILE__“(”STR(__ LINE__)“)” ..
发布时间:2016-10-14 10:48:57 C/C++开发

如何从dll导出C ++类?

我有一个类有两个重载的函数。如何从一个dll导出它,以及如何使用它由其他C ++类?我的类看起来像这样: #define DECLDIREXP __declspec(dllexport) #define DECLDIRIMP __declspec dllimport) class DECLDIREXP xyz { public: void printing( ..
发布时间:2016-10-14 10:48:54 C/C++开发

decltype的行为

说我有一些stl容器类的对象 obj 。我可以通过这种方式定义相同类型的其他对象: decltype(obj)obj2; 但我不能用这种方式为容器声明迭代器: decltype(obj):: iterator it = obj.begin(); 为什么?我做错了什么? 解决方案 您的代码根据最终的C ++ 0x草案(FDIS)格式良好。 ..
发布时间:2016-10-14 10:47:12 C/C++开发

VC ++允许对STL容器使用const类型。为什么?

STL容器要求存储的值是可复制构造和可分配的。 const T显然不是任何T的可分配类型,但我试图使用它(只是好奇),发现它编译,而且,表现为可分配类型。 vector v(1); v [0] = 17; 在Visual Studio 2008中成功运行并将v [0]分配给17. 解决方案 这不是别人建议的实现中的错误。 违 ..
发布时间:2016-10-14 10:45:41 C/C++开发

意外的文件结束错误

我希望你能帮助我,因为我不知道发生了什么。我在尝试将Beecrypt库添加到我的项目时出现以下错误: 致命错误C1010:预编译头。您忘了向您的来源添加“#include”stdafx.h“'吗? 其实我没有忘记添加#include “stdafx”到我的源。编译器将错误指向此.cxx文件的末尾: #define BEECRYPT_CXX_DLL_EXPORT #ifd ..

在C ++静态库中共享全局变量

我有一个MS C ++项目(我们称之为项目A),我目前正在编译为静态库(.lib)。它定义了一个全局变量foo。我有另外两个项目,分别编译(分别称为B和C),每个链接共享静态库A。B和C是dll的,最终加载在同一个进程。我想在同一个过程中在B和C之间共享一个来自A的foo实例:单例。我不知道如何完成单例模式这里与项目A,因为它被静态编译成B和C单独。如果我在B和C中声明foo为extern,我在B ..
发布时间:2016-10-14 10:39:57 C/C++开发

C ++:什么是“float”的printf()格式规范?

C ++: printf()格式规范是 float (Visual C ++) 以前我用%g 代替 float 和%lg 为 double 。 看起来规格已更改, float 未定义, double 是%g 。 我有内存中的位,我打印出来,所以铸造不是选项。 有没有办法可以使用 printf打印出 float )? 更新: 是为在嵌入式系统上使用的单元测试通用C ..
发布时间:2016-10-14 10:38:44 C/C++开发

在调试模式下找不到msvcr90d.dll

我找到找不到MSVCR90D.dll在调试模式与Visual C ++ 2008问题,但没有一个给定的答案真的给出了答案的问题。其中大多数指向关闭增量链接,但不解释错误的真正原因,以及如何修复而不关闭增量链接。 我想提一提我的情况与原来的问题有所不同。 任何人都可以使用C ++编译器。 解决方案 下面是编译器的输出。奇怪的是,第二次运行构建成功。但是我怀疑这个问题可能是由于运行 ..
发布时间:2016-10-14 10:35:43 C/C++开发

如何指定vc11 lambda调用约定

我想通过一个lambda函数指针,它嵌套在一个班,对Windows API的回调函数。我发现没有地方可以指定 __ stdcall 关键字。我用nm命令有人告诉我,编译只支持 __ CDECL ,但经过转储obj的文件,我发现编译将产生三个辅助函数( __ stdcall , __ cdecl , __ fastcall )。所以我的问题是,我怎么可以指定调用约定? 那些下面的代码是我的测试 ..
发布时间:2016-10-14 10:35:13 C/C++开发

哪个编译器是正确的? 'template'before模板返回类型需要?

此代码段(摘自这个问题)使用g ++(如所示)编译良好,所以只要模板在返回类型之前。相反,VC10不会编译该代码,并出现以下错误: 错误C2244:'A :: getAttr':无法匹配函数定义到现有的声明 如果我删除模板但是g ++尖叫这个错误: 错误:非模板'AttributeType'用作模板 注意: A :: template AttributeType'来表示它是 ..
发布时间:2016-10-14 10:33:26 C/C++开发