暑假自学(1)

今天有小学期任务  猜数字游戏。难点是双线程(因为要求需要限制时间)。需要用到新的头文件<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自学了。

(还得考驾照挺膈应的)

posted @ 2020-07-06 21:48  不详·Christina  阅读(79)  评论(0编辑  收藏  举报