1.路径没有设置好
设置方法:
在TC中将菜单项“Options”中的“Directories”中的路径改成你TC所装的所在路径。
lib和include设置为你实际的lib和include路径,destinate设置为生成应用程序存放的位置。
2.引用其它非C标准库的头文件也会产生这个问题:
从网络搜索相应的头文件,并复制到TC所在目录的include文件夹下
你问题中函数_beginthread是windows下创建线程并立即执行的函数:
一、直接运行至程序结束或调用_endthread函数结束进程。
二、三个参数分别是执行的函数、新线程堆栈大小(一般传0)、传递给新线程的参数列表(不需要就传NULL)。
三、该函数需要头文件process.h。
四、调用函数mousemove写在main下面,要先申明。
五、main是主线程,在创建进程之后应使用循环、输入或其他函数确保主线程运行。否则像你上面这样写,创建子线程后,主线程就运行结束了。
六、子线程函数死循环定位鼠标,至少给个结束方式吧。
下面是按你代码写的演示,按任意键结束程序:
#include<stdio.h>
#include<windows.h>
#include<process.h>
#include<conio.h>
void mousemove()
int main()
{
_beginthread(mousemove,0,NULL)
getch()
printf("主进程结束\n")
return 0
}
void mousemove()
{
while(1) {
SetCursorPos(800,600)
printf("子线程执行中\n")
}
}
你可能是真的缺少有关的h文件,或者是没设置好头文件的路径mingw32,使用没有VC6那么方便,但是完全免费,bug最少(3)BorlandC++Builder,兼容性比较差,但是用的人很多(4)VC7,VC8,VC9,体积庞大,但是库很多
C++是在C语言的基础上开发出来的,是C语言的超集。1980年,C++的早期版本诞生,称作带类的C(CwithClasses)。1983年RickMascitti建议将带类的C命名为C++(CPlusPlus)。1983年之后,C++使用的爆炸式增长。传统的面向用户遇到的问题及基于同事间讨论的演化方式已无法满足需求,迫切需要对C++语言进行标准化。1998年ISOC++标准通过ISO评审成为国际标准,称作C++98
标准化后的C++增加了命名空间的概念,将原来声明在全局空间下的标识符声明在了namespacestd下。
标准化后的C++还统一了C++头文件的各种后缀名,例如.h、.hpp、.hxx等。标准化之前的头文件就是带后缀名的文件,标准化后的头文件就是不带后缀名的文件。C++98规定用户应使用新版头文件,对旧版本头文件不再进行强制规范,但大多数编译器厂商依然提供旧版本头文件,以求向下兼容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)