今天有小学期任务 猜数字游戏。难点是双线程(因为要求需要限制时间)。需要用到新的头文件<pthread.h> 这头文件vs2010不自带,还得从CSDN上找大佬的教程。
总结一下安装进去的步骤:
1.在项目属性里的VC++目录中找到包含目录和库目录。并分别向里面添加压缩包中的include文件夹和lib文件夹。
2.在链接器目录的输出目录中,找到附加依赖项,添加三个lib文件。
3.把VC2E放进system32里。(这里我失败了,还是报告未发现文件,只有把文件放到项目工程文件中才能运行)
//之后的添加文件可能也是这样的吧()
<pthread.h>函数:
我用到的是pthread_create(&文件名,线程参数(一般都写NULL),入口函数名,函数参数)和pthread_
值得注意的是,入口函数是以指针的方式命名的,函数参数也是void*(我自己试的时候其他形式会报错,他这个函数的形式就是void*)。
在这之后就是运行,双线程运行失败。
#include<iostream>
#include<time.h>
#include<stdlib.h>
#include<pthread.h>
#include<string>
using namespace std;
void *Time(void *)
{
int a;
cout<<"请输入想规定的时间(秒):"<<endl;
cin>>a;
long x;
x=clock()*1000;
if(x>a)
{
cout<<"超时"<<endl;
exit(0);
system("pause");
}
}
int main()
{
pthread_t t1;
pthread_create(&t1,NULL,Time,NULL);
srand((unsigned)time(NULL));
int temp = 0;
temp = 1+rand()%(1000);
int judge=1;
int user;
while(judge)
{
cout<<"请输入数字:"<<endl;
cin>>user;
if(user>temp)
{
cout<<"高了"<<endl;
}
else if(user<temp)
{
cout<<"低了"<<endl;
}
else
{
cout<<"恭喜!正确猜出数字"<<user<<endl;
cout<<"是否继续(继续输入1,结束输入0)"<<endl;
cin>>judge;
}
}
pthread_join(t1,NULL);
}
//目前代码
经错误代码查找,是dll文件出了问题。还是没配置好。。。。
目前并未找到解决方法,网上的方法都是和上述一样的方法,按部就班的做下来还是没有成功。
今天把java安装了一下,下午出去办了点事情。明天准备把两次小学期都搞一下(找人求助双线程,目前没找到大佬能教我的),之后开始java自学了。
(还得考驾照挺膈应的)