当前位置: 首页 > wzjs >正文

图文可以做网站设计吗网推技巧

图文可以做网站设计吗,网推技巧,wordpress解决大型访问,有资源的公众号目录 tasks.h type.h main.c tasks.c makefile 运行结果 调用多线程框架&#xff0c;在主函数写好环境监控文件的函数&#xff0c;使用结构体封装环境指标的参数 最后使用makefile管理工程文件 tasks.h #include<pthread.h>#ifndef __TASK_H__ #define __TASK_H_…

目录

tasks.h

type.h

main.c

tasks.c

makefile

运行结果


调用多线程框架,在主函数写好环境监控文件的函数,使用结构体封装环境指标的参数

最后使用makefile管理工程文件

tasks.h

#include<pthread.h>#ifndef __TASK_H__
#define __TASK_H__typedef void* (*Thread_fun_t) (void *);//函数指针类型,指向返回值为void*,参数为void*的函数
typedef struct task
{pthread_t tid;//线程的tidThread_fun_t pfun;//线程的函数}Task_t;extern int create_pthread_tasks(Task_t tasks[],int len);
extern void destroy_pthread_tasks(Task_t tasks[], int len);
#endif

type.h

#include<time.h>#ifndef __TYPE_H__
#define __TYPE_H__typedef struct env{  //用结构体封装环境指标参数int devid;//设备idfloat tmp;//温度float hum;//湿度float oxy;//氧气浓度struct tm tim;//时间结构体
}Env_data_t;#endif

main.c

#include<stdio.h>
#include <pthread.h>
#include<unistd.h>
#include<time.h>
#include <sys/stat.h>
#include <sys/types.h>
#include"tasks.h"
#include"type.h"Env_data_t data_g;
void* get_data(void *arg)
{time_t sec;int cnt = 0;while(1){sec = time(NULL);struct tm * ptm = localtime(&sec);data_g.devid = cnt++;data_g.hum = 26.7;data_g.oxy = 66.6;data_g.tim = *ptm;data_g.tmp = 36.8;sleep(1);}
}
void* show_data(void *arg)
{while(1){printf("[%4d %2d-%2d %2d:%2d:%2d] 温度:%f, 湿度:%f, 氧气浓度:%f\n",data_g.tim.tm_year+1900, data_g.tim.tm_mon+1, data_g.tim.tm_mday,data_g.tim.tm_hour, data_g.tim.tm_min, data_g.tim.tm_sec,data_g.tmp,data_g.hum,data_g.oxy);sleep(1);}return NULL;
}
void* storage_data(void *arg)
{mkdir("../data",0777);FILE *fp = fopen("../data/data.txt", "a");if(NULL == fp){perror("fail open data.txt!");return NULL;}while(1){fprintf(fp, "[%4d %2d-%2d %2d:%2d:%2d] 温度:%f, 湿度:%f, 氧气浓度:%f\n",data_g.tim.tm_year+1900, data_g.tim.tm_mon+1, data_g.tim.tm_mday,data_g.tim.tm_hour, data_g.tim.tm_min, data_g.tim.tm_sec,data_g.tmp,data_g.hum,data_g.oxy);fflush(fp);sleep(1);}
}
void* send_data(void *arg)
{while(1){//网络通信sleep(1);}
}int main(int argc, char const *argv[])
{Task_t tasks[] = {{.pfun = get_data,},{.pfun = show_data,},{.pfun = storage_data,},{.pfun = send_data,},};create_pthread_tasks(tasks, sizeof(tasks) / sizeof(tasks[0]));destroy_pthread_tasks(tasks, sizeof(tasks) / sizeof(tasks[0]));return 0;
}

tasks.c

#include"tasks.h"
#include<pthread.h>
#include<stdio.h>
int create_pthread_tasks(Task_t tasks[],int len)
{int i;for(i = 0;i < len;++i){int ret = pthread_create(&(tasks[i].tid),NULL,tasks[i].pfun,NULL);if(ret != 0){printf("fail to pthread!\n");return -1;}}return 0;
}void destroy_pthread_tasks(Task_t tasks[], int len)
{int i;for(i = 0;i < len;++i){pthread_join(tasks[i].tid,NULL);}
}

makefile

DST=app
SRC=main.c tasks.c
CC=gcc
FLAGS=-lpthread
INC=../include$(DST):$(SRC)$(CC) $^ -o $@ $(FLAGS) -I$(INC)clean:rm $(DST)

运行结果

http://www.dtcms.com/wzjs/100393.html

相关文章:

  • 大气的企业网站设计深圳推广公司哪家正规
  • 网站开发怎样验收最新国际新闻10条
  • 开发网站的工具有哪些河南网站开发公司
  • 广州网站建设广州网络推广公司排名yandex网站推广
  • 给网站做公正需要带什么国外推广渠道平台
  • 做有弹幕视频网站如何免费创建自己的网站平台
  • 电子商务网站建设作业代码搜索引擎网站有哪些
  • 销售 网站环球军事网
  • 建设网站功能定位百度导航官网
  • 网站建设专业简介一键建站免费
  • 网站建设综合推荐今日头条新闻
  • 这样做网站推广网站收录服务
  • 贵阳58同城做网站公司有哪些白酒最有效的推广方式
  • 玉树商城网站建设上海疫情突然消失的原因
  • 什么好的主题做网站图片搜索引擎
  • 自己做的网站谁来维护提升关键词排名有哪些方法
  • 服务于中小企业建网站新野seo公司
  • pc端网站开发技术宁波seo网站服务
  • python云服务器网站开发实例免费视频网站推广软件
  • 在喵窝网站怎么做图郑州百度推广seo
  • 做网站搞笑口号网络营销推广论文
  • 百度网站地图怎么做成都seo服务
  • 做网站要固定电话天津搜狗seo推广
  • 网站建设客户告知书百度一下百度网页官
  • 页面兼容性测试网站新手做网络销售难吗
  • 技术支持 广州网站建设网络推广赚钱项目
  • 网站建设 甘肃自建网站流程
  • 丹东网站开发沈阳网站关键字优化
  • 自己做网站 为什么出现403大庆黄页查询电话
  • 新乡市建设路小学网站好的seo网站