vc程序不能运行

vc程序不能运行,第1张

可能存在的原因:

1.编译出错

2.该vc程序需要先建立项目,才能建立c文件

3.(根据你的情况最有可余姿能的原因)你所编写的文件存在运行的错误,这种错误比编译出错更难察觉衫败,有可能是出现死循环之类的错误,请你仔细检查竖塌绝新建的文件

有两个解决方法,第一是用多线程实现,资料很多自己搜索一下,第二是可以简单的修改一下你的代码

函数一开始声明一个MSG类型的结构体:

MSG msg

在循环最后,Sleep语句之后加上下面的代码

if (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))

{

if (GetMessage(&msg, NULL, 0, 0))

{

TranslateMessage(&msg)

DispatchMessage(&msg)

}

else

{

// 收到WM_QUIT消息,应用程序应当退出

break

}

}

这样,你带代码接管主消息循环,使得你在处理的每个while循环,消息都有机会得到处理,防止界面卡死。

具体原理,要设计带Winodws事件驱动的原理。如果你学习过Windows API编程,应该很容易理解。

关于你后面的建立线程的问题,线程函数需要是全局或者静态的。因为静态函数没有this指针,所以他就不能访问类的其他非团此模静态的成员函数和变量,你所要做的就是弄出一个类似this的指针,当然指塌缓针不能取名叫this。Winodws允许你在启动线程的时候传递一个参数过去,你可以扒散将this指针传递给线程函数。比如你可以这么写:

// static

DWORD CALLBACK MyClass::ThreadProc(LPVOID parameter)

{

MyClass* pInstance = reinterpret_cast<MyClass*>(parameter)

pInstance->SomeOperation()// 通过pInstance指针你就可以 *** 作类的内容了。

}

启动线程

void MyClass::Operate()

{

// 注意,将this指针传递给线程函数

CreateThread(NULL, NULL, MyClass::ThreadProc, reinterpret_cast<LPVOID>(this), NULL, NULL)

}

实际上这个问题很多情况下是由于路径设置的问题引起的,

“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,

你可以到相应的路径下找到这个应用程序。

因此问题派乎基可以按照以下方法顷埋解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(尘谨选择)”

—>“Directories(目录)”重新设置“Excutable Fils、Include Files、

Library Files、Source Files”的路径。很多情况可能就一个盘符的不同

(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。

如果你是按照初始路径安装vc6.0的,路径应为:

executatble files:

C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin

C:\Program Files\Microsoft Visual Studio\VC98\BIN

C:\Program Files\Microsoft Visual Studio\Common\TOOLS

C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT

include files:

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

library files:

C:\Program Files\Microsoft Visual Studio\VC98\LIB

C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

source files:

C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC

如果你装在其他盘里,则仿照其路径变通就行。

关键是microsoft visual studio\ 后面的东西要相同。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12346176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存