草庐IT

VC_redist.x64

全部标签

java - 如何使用 gcc 编译器或其他编译器生成 64 位 .dll。无法在 AMD 64 位平台上加载 IA 32 位 .dll

您好,我没有找到如何创建64位dll的解决方案。并使用它的原生C++方法。我使用Java代码metodynatywne.java:classmetodynatywne{static{System.loadLibrary("metodynatywne");}nativepublicvoidsayHello();publicstaticvoidmain(Stringargv[]){newmetodynatywne().sayHello();}}然后生成metodynatywne.h使用javah-jnimetodynatywne我写了metodynatywne.cpp代码:#include

C++ Armadillo : GCC vs VC++2013: Operator () and overloading

我正在尝试使用ArmadilloC++库开发Linux/Win64应用程序。以下代码在GCC-4.7中编译,但在使用Armadillo提供的VS项目文件的VisualStudio2013中编译失败。#include#include"armadillo"usingnamespacearma;usingnamespacestd;//worksinGCC-4.7//VC++2013:compileerror:C3066voidfoo1(vec::fixed&bar){bar(1)=1.;}//worksvoidfoo2(vec::fixed&bar){bar.at(2)=1.;}//work

c++ - 仅在 x64 版本中存在访问冲突

我在非常奇怪的情况下使用遇到访问冲突header。这是编译器错误吗?这是代码:#includeclassFoo{public:std::random_devicerd;std::mt19937_64mt;std::uniform_int_distributiondist;Foo();};Foo::Foo():mt(rd()){dist=std::uniform_int_distribution(0,1);}intmain(){Foofoo;inta[2];intb[2]={0};for(inti=0;i如果我将for循环替换为以下内容,代码将不会发生访问冲突!{intc=foo.dis

c++ - 这是 "new auto(enum_type)"的 Microsoft VC++ 2010 编译器错误吗

环境:MicrosoftVisualStudio2010withSP1Preminum(10.0.40219.1SP1Rel),WindowsXPSP3VC10编译器支持auto关键字,但推导的类型相关信息对于枚举似乎并不总是正确的。例子:#includeenumfruit_t{apple=100,banana=200,};intmain(){constautopa=newauto(banana);constautopb=newfruit_t(banana);static_assert(std::is_same::value,"notsame!");deletepb;deletepa;

c++ - Ada 到 C++ : Pass an unsigned 64-bit value

我需要将2条数据从Ada程序传递给一些C++代码进行处理。数据-双倍。时间-无符号64位。我能够使用Long_Float(在C++中为double)和Integer(在C++中为int,但显然不是64位)在Ada中创建一个与我的C++方法一起工作的过程。我使用了以下代码(代码不在我身上,所以语法可能略有偏差):proceduresend_data(this:inhidden_ptr;data:inLong_Float;time:inInteger);pragmaimport(CPP,send_data,"MyClass::sendData");现在它正在运行,我正在尝试将时间扩展到完整

c# - C++ x86/x64 结构对齐 + .NET AnyCPU C++ 库使用(调用/回调)

由于我之前的问题没有成功(“C#AnyCPUlibraryusingx86/x64CAPI-packingstructures,callsandcallbacks”),我将写一个更简洁和抽象的问题。p>图片:我工作的公司有一个软件要移植到64位上。该软件由一个BASE库(带有CAPI的C++)和两个CAPI包装器组成:一个C++包装器和一个.NET包装器。C++BASE库和C++WRAPPER应该有x86/x64构建配置。.NETWRAPPER应该只有一个AnyCPU构建配置。从.NETWRAPPER中选择正确的库已成功完成(C++BASE库(x86/x64)正在两个单独的命名空间中加

c++ - 使用 gdb 在 MS VC++ 2010 Express 中编译的调试程序

是否可以使用MicrosoftVisualC++Express构建可执行文件,以便使用gdb对其进行调试?我尝试使用C7兼容的/Z7编译器选项和/debug链接器选项,但生成的.pdb文件无法被gdb识别:(gdb)symbol-fileHelloWorldVC.pdb`HelloWorldVC.pdb':can'treadsymbols:Fileformatnotrecognized. 最佳答案 GDB的调试格式与Microsoft的编译器不同。实际上,没有记录PDB格式。因此,您不能将Microsoft编译器生成的调试信息与GD

c++ - OpenMP 原子和非原子读/写在 x86_64 上产生相同的指令

根据OpenMP规范(v4.0),由于i的不同步读/写,以下程序包含可能的数据竞争:inti{0};//std::atomici{0};voidwrite(){//#pragmaompatomicwrite//seq_csti=1;}intread(){intj;//#pragmaompatomicread//seq_cstj=i;returnj;}intmain(){#pragmaompparallel{/*codethatcallsbothwrite()andread()*/}}我想到的可能的解决方案在代码中显示为注释:保护i的读写与#pragmaompatomicwrite/re

c++ - 以 "different"调用约定作为参数的 64 位 C++ 传递函数会产生不明确的错误

我的目标是使用__cdecl和__stdcall调用约定轻松提取任意函数的原型(prototype)。它在32位中运行良好。唯一改变的是我的模板函数参数中的调用约定。根据Wikipedia:Whencompilingforthex64architectureinaWindowscontext(whetherusingMicrosoftornon-Microsofttools),thereisonlyonecallingconvention—theonedescribedhere,sothatstdcall,thiscall,cdecl,fastcall,etc.,arenowallon

c++ - x64 上的 WMI 链接器错误

我正在尝试使用来自msdn的WMI示例:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384724%28v=vs.85%29.aspx我已经将最后一组代码逐字复制到VS2008的控制台应用程序中。如果我的应用程序处于win32平台的发布或调试状态,它可以正常编译(并运行)。如果我在x64平台上发布或调试它,我会收到以下链接器错误:CppConsole.obj:errorLNK2001:unresolvedexternalsymbolIID_IWbemConfigureRefresherCppConsole.obj:e