首页 > TAG信息列表 > visual-c

通过互操作将整数数组从C#传递到本机代码

我有一个Blah.cs: public unsafe static int Main() { int[] ai = {1, 2, 3, 4, 5}; UIntPtr stai = (UIntPtr) ai.Length; CManagedStuff obj = new CManagedStuff(); obj.DoSomething(ai, stai); } 然后是ManagedStuff.cpp: void CManagedStuff::DoSomething(int^ _ai,

C增量版本可实现持续集成

我们在VS2005中构建了一个相当大的C项目,从头开始进行编译和构建可能需要40分钟,而在32位和64位配置下都需要10分钟的安装时间.我希望将此时间至少减少到10分钟左右,因为我认为在使用持续集成时获得快速的构建反馈很重要. 当通过删除最终的链接文件而不是.obj文件来使用增量生成时,

MSVC编译器错误C2143

以下代码摘录是一个秘密的MSVC编译器错误的原因: template<class T> class Vec : public vector<T>{ public: Vec() : vector<T>(){} Vec(int s) : vector<T>(s){} T& operator[](int i){return at(i); } const T& operator[](int i)const{

动态更改数组的大小c

我有一个数组定义为; static double Temp_data[TABLE_SIZE]; 我想根据用户输入更改数组的大小. 这可能吗?请帮我.谢谢.解决方法:不.您可能想使用std :: vector< double> TEMP_DATA; 然后,您可以使用其resize()成员函数根据需要设置大小. 编辑:为了清楚起见,您通常希望避免直接使用n

CW-未调用WH_KEYBOARD_LL挂钩

我在WH_KEYBOARD_LL挂钩上遇到了一些问题: 我使用全局LL挂钩的原因并不重要,我只需要将其用于我的应用程序(我尝试了其他类型的挂钩,但它们对我不起作用). 钩子函数位于dll中,该dll在应用程序启动时加载,并且钩子也在启动时从主线程进行设置.这很完美.当我需要停用挂钩并将其重新激

c-尽管存在显式实例化,但类模板的成员函数模板找不到定义.不连结

编辑:这不是链接问题的重复,因为我使用的是显式实例化,只有特定类型的成员函数不链接(其他人则链接). 以下代码可以编译,但无法链接,我也不明白为什么. 显式实例化Vector类以限制T的可能参数的数量,因此隐藏了Vector的定义.在.cpp文件中. // fwd_decl.hpp #pragma once template<ty

c-错误C2512:“ std :: basic_ostream”:仅在Visual Studio中没有适当的默认构造函数

我问这个问题是因为我有点无助:此错误仅在Visual Studio中发生,GCC编译该错误时没有错误甚至没有警告.由于这是一些可移植的代码,因此我正在寻找一种适用于两种编译器的解决方案(最好在没有平台依赖的ifdef的情况下). error C2512: ‘std::basic_ostream<_Elem,_Traits>’ : no ap

c-OpenGL窗口未打开

我有来自OpenGLBook(openglbook.com)的代码,该代码可以编译,但无法加载.我完全不知道为什么它没有加载.代码如下: main.cpp中 #include "main.h" /// Methods /// ----------------------------- int main(int argc, char* argv[]) { Initialize(argc, argv); glutMainL

使用Visual C for C代替C/C++LI

我知道如何使用C语言制作控制台程序进行编程,但是现在我想使用Windows界面编写程序. MS VS 2010使用拖放功能对C Windows应用程序进行编码使事情变得容易.滴设计系统. (.net Framework)但是,Visual Studio似乎使用了我不熟悉的C/C++LI. 是否有仅使用C的IDE?是否有任何具有易于使用的

c-在库中使用fstream时,在可执行文件中出现链接器错误

当我添加 #include <fstream> 并尝试使用 std::ifstream (i.e. std::ifstream ifile(pDest)) 在我的库中,编译使用该库的项目时,出现以下链接器错误: Error 2 error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: wchar_t * & __t

c-为什么在VC2015RC下`is_constructible,int(*)(int,int)> :: value`是true

#include <functional> using namespace std; int main() { static_assert(is_constructible<function<int(int)>, int(*)(int,int)>::value, "error"); } 该代码无法使用GCC和Clang进行编译,而是随Visual C 2015 RC一起传递. 这是符合标准的行为还是错误?解决方法:std :: fun

尽管使用导出的符号链接到.lib文件,但是从托管C到非托管C的链接错误链接

尽管遵循有关使用和从C/C++LI包装dll链接到非托管C代码的各种文章,但我无法解决这些链接问题. 1>MyClassAdapter.obj : error LNK2028: unresolved token (0A00000A) "public: __thiscall MyClass::~MyClass(void)" (??1MyClass@@$$FQAE@XZ) referenced in function "public: void

如何在Visual C中正确调用CopyFile函数?

我有一个函数,将两个CHAR *作为输入. DLL项目中的int _stdcall FileTrans(char * InFile,char * OutFile). 在函数中,我只是调用CopyFile(InFile,OutFile,false);经过一些处理(与文件无关).但是它说它需要两个输入都作为LPCWSTR.我用Google搜索了它,但找不到任何非常有趣的东西.解

C中的类型错误参数

我正在使用Visual Studio2013.错误显示“类型为“ WCHAR *”的参数与类型为“ const char *”的参数不兼容. while (!processId) { system("CLS"); cout << "Searching for game" << ProcessName << "..." << endl; cout << "

c-连续在OpenGL中暂停

void keyPress(unsigned char key,int x,int y){ int i; switch(key){ case 'f': i = 3; while(i--){ x_pos += 3; sleep(100); glutPostRedisplay(); } } } >上面是Windows 7中使用GLU

c-查找“无法访问在类’QObject’中声明的私有成员”的根本原因

我知道为什么会收到C2248:’QObject :: QObject’:无法访问类’QObject’中声明的私有成员. Qt对象不可复制,如下所述: > https://stackoverflow.com/a/3513395/356726 > No copy constructor or assignment operator 问题是,编译器消息始终指示该类的最后一行(结束}): class MyQObjec

c-cin.get()是非阻塞的

我有链接问题中提到的相同问题.运行该程序后,控制台窗口(在VS 2010中)立即消失.我使用cin.get();在主要功能的末尾,但问题仍然存在.对可能的原因有任何想法吗?您可以在main中检出代码: int main() { const int arraysize = 10; int order; int counter; int a[array

std :: thread在vc中的析构函数中获取中止异常

当主要方法完成时,我在简单的VC程序中遇到异常终止异常. 这是我的示例测试程序. #include "stdafx.h" #include <thread> #include <Windows.h> class ThreadTest { public: ThreadTest() { } ~ThreadTest() { } void ThreadProc() { }

Visual C 2010错误,将User32.dll导入64位win7

在64位Win7上运行Visual C 2010,此行 #include "C:\Windows\SysWOW64\user32.dll" 它是正确的路径,但是错误包括 1>C:\Windows\SysWOW64\user32.dll(1): error C2018: unknown character '0x3' 1>C:\Windows\SysWOW64\user32.dll(1): error C2018: unknown

c-一次实现多个COM接口时,如何升级到IUnknown?

假设我的COM对象实现了两个或多个COM接口: class CMyClass : public IPersistFile, public IPersistStream { }; 在实现QueryInterface()时,我需要能够返回IUnknown *指针.由于两个基本接口都是从IUnknown派生的,因此我不能进行隐式上载-这种上载将是不确定的.要明确转换,我需要使

c-为什么当我强制转换为“ long”时会调用“ operator bool()”?

我有以下课程: class MyClass { public: MyClass( char* what ) : controlled( what ) {} ~MyClass() { delete[] controlled; } operator char*() const { return controlled; } operator void*() const { return controlled; } operator bool() const { return co

c-哪个DLL具有PathCchAppend?

我试图有条件地使用(如果可用)功能PathCchAppend.我从头文件pathcch.h获取了功能签名.但是,当我尝试从SHLWAPI.DLL获取函数的地址时,它失败了: auto pca = GetProcAddress(GetModuleHandle(L"shlwapi.dll"), "PathCchAppend"); 使用Depends,我发现此DLL中不存在此功能(我在Windows

Visual C无法写入exe

在C(VisualStudio)中编译项目大约3-4次后,由于LNK1168代表“ VisualStudio无法写入exe”,因此我可以再做一次.我在TaskManager中查找了该exe文件未运行.通常,我必须等待5分钟左右,但这并不是真正的解决方案.有任何想法吗? ProcessExplorer只是告诉我,该句柄无效,尽管无法关闭.它一直

堆上非常大的数组(Visual C)

我希望有人可以帮助我,我正在尝试使用Visual C 2010在我的应用程序上创建一个int [400000000](4亿)数组,但它会产生溢出错误 相同的代码在Linux上使用g运行.我需要这个,因为我正在处理大型矩阵.先感谢您.解决方法:如果您使用的是32位应用程序,则默认情况下您只有2GB的用户地址空间.

使用Visual C 2008时如何解决未处理的异常错误?

有人可以帮助我解决使用Visual C 2008时出现的未处理异常错误吗?错误显示如下:在time.exe中0x00411690未处理的异常:0xC0000005:访问冲突读取位置0x00000008 一些细节: -tm 0x00000000 {tm_sec = ??? tm_min = ??? tm_hour = ??? …} Tm值 *        tm_sec CXX0030:错误:无法评估