草庐IT

vc_runtimeMinimum_x

全部标签

c++ - 链接问题(VC6)

我打开了一个旧工作区,它是一个库及其测试工具。它过去工作正常,但现在不行,旧版本的代码也不能工作,但会出现相同的错误。我试过重新创建项目,这也导致了同样的错误。项目设置中似乎没有任何问题,生成的代码在主应用程序中工作。我已经删除了大部分文件并将其减少到最低限度以生成错误。不幸的是,我无法发布该项目,因为它用于生产代码。我遇到的LNK2001链接器错误通常意味着我离开了一个库或忘记实现一个虚函数。然而,这是标准模板库的一部分-并且是一个header。在IOCompletionPort.obj中被列为有问题的代码实际上并没有直接使用std::string,而是调用了一个类:Comms::E

c++ - std::atoll 与 VC++

我一直在使用cstdlib中的std::atoll通过gcc将字符串转换为int64_t。该功能似乎在Windows工具链上不可用(使用VisualStudioExpress2010)。什么是最佳选择?我也对将strings转换为uint64_t感兴趣。取自cstdint的整数定义。 最佳答案 MSVC有_atoi64和类似的功能,参见here对于无符号64位类型,请参阅_strtoui64 关于c++-std::atoll与VC++,我们在StackOverflow上找到一个类似的问题

c++ - VC2010 的 static init 线程安全吗?

我一直在SO和MSDN周围寻找这个问题的答案,但似乎找不到明确和最终的答案......我知道它在C++11标准中并且当前的GCC版本以这种方式运行,但是VC2010目前是否保证局部静态变量初始化的线程安全?即:这对于VC2010是线程安全的吗?staticS&getInstance(){staticSinstance;returninstance;}...如果不是,当前使用VC2010在C++中实现线程安全单例的最佳实践是什么?编辑:正如ChrisBetti的回答所指出的,VC2010没有实现局部静态变量init的线程安全。 最佳答案

c++ - VC++6/Win32工程转VS2010 C++/Win32工程: Known issues

您是否知道在将VC++6/Win32项目转换为VS2010C++/Win32项目类型期间强调已知或可能出现的问题的资源?我对各种问题都感兴趣:编译器选项兼容性编译时问题链接时间问题运行时问题MFC问题否则,如果您已经执行了那种迁移,您遇到了什么问题?谢谢 最佳答案 VC++6有非标准的异常处理。我们遇到了一些问题,因为我们的代码包含以下内容:try{//Somecode}catch(...){//Handleerror}一些开发人员依赖于这种损坏的行为,我们的应用程序在VS2008中编译后严重崩溃。这article很好地解释了它以及

c++ - VC8 到 VC10 - LNK2005 错误

我最近安装了VisualStudio2010并使用CMake为我的项目生成了解决方案文件。此过程以前在VS2005上运行良好。我遇到的第一个问题是因为新的“移动构造函数”,所以我不得不从我的代码中删除一些隐式转换——很公平,现在可以了。我目前的情况如下:我正在编译DLL1,它只依赖于一些系统库(Kernel32等)和CRT,并且DLL2,它链接到DLL1,以及一些第三方库。我得到的错误是:DLL1.lib(DLL1.dll):errorLNK2005:"public:__thiscallstd::basic_string,classstd::allocator>::~basic_str

c++ - 我可以要求 VC++ 链接器忽略未解析的外部吗?

我正在尝试使用VC++构建一个非常复杂的开源项目。该项目由数十个库和一个依赖于这些库的可执行文件组成。出于某些原因,VC++链接器不希望看到其中一个库中实现了大约40个函数,并在每个库上报告“未解析的外部引用”,因此我无法链接。我不想浪费时间解决问题-这些函数可能从未被调用过。我只想让链接器链接它看到的内容并插入一些合理的错误处理(例如报告错误和终止程序)而不是缺少函数。我该怎么做? 最佳答案 您可以使用/FORCE:UNRESOLVED链接器选项。该文档包含相当低调的警告:Afilecreatedwiththisoptionmay

c++ - 从 vc++ 调用存储在堆中的代码

假设我正在做这样的事情:void*p=malloc(1000);*((char*)p)=some_opcode;*((char*)p+1)=another_opcode;//forthesakeoftheexample:theopcodesareok....etc...我怎样才能定义一个函数指针来调用p就好像它是一个函数一样?(我正在使用VC++2008Express)。谢谢 最佳答案 评论空间不足。Joe_Muc是正确的。您不应该将代码填充到通过malloc或new获得的内存中。如果您更改Windows分配的页面的页面属性,您将遇

c++ - std::iterator、指针和 VC++ 警告 C4996

int*arr=(int*)malloc(100*sizeof(int));int*arr_copy=(int*)malloc(100*sizeof(int));srand(123456789L);for(inti=0;i编译时我收到了std::copy()的警告:c:\programfiles(x86)\microsoftvisualstudio10.0\vc\include\xutility(2227):warningC4996:'std::_Copy_impl':Functioncallwithparametersthatmaybeunsafe-thiscallreliesont

c++ - 在VC++编译的应用程序中使用G++编译的DLL(插件)会出现什么问题?

我使用并使用VisualC++编译器编译的应用程序。它可以以.dll的形式加载插件。它到底做了什么并不重要,事实是:这包括从.dll调用返回指向应用程序API对象指针的函数等。我的问题是,当应用程序从.dll调用函数、从中检索指针并使用它时,可能会出现什么问题。例如,我想到的是指针的大小。VC++和G++有区别吗?如果是,这可能会使应用程序崩溃?我不想使用VisualStudioIDE(不幸的是,这是使用ApplicationsSDK的“首选”方式)。我可以将G++配置为像VC++一样编译吗?PS:我用的是MINGWGNUG++ 最佳答案

ruby - 当编码全部被破坏时,如何使用 Ruby 替换 VC++ 资源文件中的文本?

我在解决方案中有一个简单的托管VC++项目。它有一个资源文件,app.rc,用于存储程序集信息(版本、产品、版权等)。如果我在texteditor中打开文件,它表示它是Unicode(UTF-16LEBOM)。如果我选择Unicode-Codepage1200,VisualStudio只会正确显示它。VS_VERSION_INFOVERSIONINFOFILEVERSION0,0,0,0PRODUCTVERSION0,0,0,0FILEFLAGSMASK0x3fL#ifdef_DEBUGFILEFLAGS0x1L#elseFILEFLAGS0x0L#endifFILEOS0x40004