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

做资讯网站盈利发软文是什么意思

做资讯网站盈利,发软文是什么意思,运营平台是什么意思,营销网络地图文章目录 一、数据结构抽象page_manager.h 二、页面管理器page_manager.c 三、单元测试1、main.page.c2、page_test.c3、Makefile修改3.1、unittest中的Makefile3.2、page中的Makefile 四、上机实验 前言 前面实现了显示、输入、文字、UI系统,现在我们就来实现页面的…

文章目录

  • 一、数据结构抽象
    • page_manager.h
  • 二、页面管理器
    • page_manager.c
  • 三、单元测试
    • 1、main.page.c
    • 2、page_test.c
    • 3、Makefile修改
      • 3.1、unittest中的Makefile
      • 3.2、page中的Makefile
  • 四、上机实验

前言

前面实现了显示、输入、文字、UI系统,现在我们就来实现页面的搭建!

一、数据结构抽象

对于每一个页面都会有一个结构体!
在这里插入图片描述
对于每一个结构体抽象出的结构体如下:
在这里插入图片描述

page_manager.h

#ifndef _PAGE_MANAGER_H
#define _PAGE_MANAGER_H/* 定义一个结构体,用于表示页面操作 */
typedef struct PageAction {char *name;                 //页面名称void (*Run)(void *pParams); //指向页面操作函数struct PageAction *ptNext;  //链表
}PageAction, *PPageAction;      /* 声明函数,用于注册页面 */
void PageRegister(PPageAction ptPageAction);/* 声明函数,用于注册所有页面 */
void PagesRegister(void);/* 声明函数,用于根据页面寻找动作名称查找并返回对应的结构体 */
PPageAction Page(char *name);#endif

二、页面管理器

页面管理器用于管理页面,需要实现上层函数!
在这里插入图片描述

page_manager.c

page_manager.c里面就是实现了page_manager.h里面的那三个函数

// 包含公共头文件,可能包含了一些通用的宏定义或者函数声明
#include <common.h>// 包含页面管理器头文件,这个文件中声明了页面动作相关的结构体和函数
#include <page_manager.h>// 包含字符串处理头文件,提供了字符串比较函数strcmp
#include <string.h>// 声明一个静态的全局变量,用于存储页面动作链表的头指针
static PPageAction g_ptPages = NULL;// 实现页面动作注册函数,将新的页面动作添加到链表的头部
void PageRegister(PPageAction ptPageAction)
{// 将新动作的下一个指针指向当前链表的头ptPageAction->ptNext = g_ptPages;// 更新链表头指针,使其指向新添加的动作g_ptPages = ptPageAction;
}// 实现根据名称查找页面动作的函数
PPageAction Page(char *name)
{// 从链表头开始遍历PPageAction ptTmp = g_ptPages;// 遍历链表直到找到匹配的名称或者遍历完整个链表while (ptTmp){// 使用strcmp函数比较名称是否相等if (strcmp(name, ptTmp->name) == 0)// 如果找到匹配的名称,返回对应的页面动作指针return ptTmp;// 移动到下一个页面动作ptTmp = ptTmp->ptNext;}// 如果没有找到匹配的名称,返回NULLreturn NULL;
}// 实现注册所有页面动作的函数
void PagesRegister(void)
{// 声明一个外部函数,用于注册主页面动作extern void MainPageRegister(void);// 调用外部函数注册主页面动作MainPageRegister();
}

三、单元测试

1、main.page.c

// 包含页面管理器头文件,这个文件中声明了页面动作相关的结构体和函数
#include <page_manager.h>// 包含标准输入输出头文件,提供了printf等函数
#include <stdio.h>// 定义一个静态函数,用于执行主页面动作
static void MainPageRun(void *pParams)
{// 使用printf打印文件名、函数名和当前行号,用于调试信息printf("%s %s %d\n", __FILE__, __FUNCTION__, __LINE__);
}// 定义一个静态的PageAction结构体变量,表示主页面动作
static PageAction g_tMainPage = {// 设置页面动作的名称为"main".name = "main",// 设置执行页面动作的函数为MainPageRun.Run  = MainPageRun,
};// 定义一个函数,用于注册主页面动作
void MainPageRegister(void)
{// 调用页面管理器的注册函数,将主页面动作添加到页面动作链表中PageRegister(&g_tMainPage);
}

__FILE__文件,FUNCTION 函数名,LINE 行数

2、page_test.c

// 包含内存映射相关的头文件
#include <sys/mman.h>// 包含系统类型定义的头文件
#include <sys/types.h>// 包含文件状态相关的头文件
#include <sys/stat.h>// 包含Unix标准函数定义的头文件
#include <unistd.h>// 包含Linux帧缓冲设备相关的头文件
#include <linux/fb.h>// 包含文件控制选项相关的头文件
#include <fcntl.h>// 包含标准输入输出函数定义的头文件
#include <stdio.h>// 包含字符串处理函数定义的头文件
#include <string.h>// 包含输入输出控制函数定义的头文件
#include <sys/ioctl.h>// 包含标准库函数定义的头文件
#include <stdlib.h>// 包含页面管理器头文件,这个文件中声明了页面动作相关的结构体和函数
#include <page_manager.h>// 程序入口点,接受命令行参数
int main(int argc, char **argv)
{// 注册所有页面动作,这通常会在程序启动时执行PagesRegister();// 查找名为"main"的页面动作,并执行其Run函数// 这里传递了一个NULL参数,表示没有额外的参数传递给Run函数Page("main")->Run(NULL);// 程序正常退出,返回0return 0;
}

3、Makefile修改

3.1、unittest中的Makefile

EXTRA_CFLAGS  := 
CFLAGS_file.o := #obj-y += disp_test.o
#obj-y += input_test.o
#obj-y += font_test.o
#obj-y += ui_test.o
obj-y += page_test.o

3.2、page中的Makefile

EXTRA_CFLAGS  := 
CFLAGS_file.o := obj-y += page_manager.o
obj-y += main_page.o

四、上机实验

book@100ask:~/source$ make
book@100ask:~/source$ cp -r 23_page_unittest/ ~/nfs_rootfs/

[root@100ask:/]# mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt
//挂载目录
[root@100ask:/mnt/23_page_unittest]# ./test ./simsun.ttc

上机运行效果:
在这里插入图片描述

http://www.zhongyajixie.com/news/14368.html

相关文章:

  • 女性门户网站源码中国新闻
  • 襄阳做网站价格友情链接的形式有哪些
  • 广东微信网站推广哪家专业色盲测试图
  • 那家网站做的效果好郑州百度关键词seo
  • 提供常州网站优化深圳网站开发技术
  • 怎么做网站排版seo一个月工资一般多少
  • 十堰seo招聘石家庄seo管理
  • 简洁的个人网站购买域名后如何建立网站
  • 建网站制作seo首页排名优化
  • 网站备份网站海外营销公司
  • 东莞网站优化效果如何线上推广营销
  • 网站LOGO透明底色PNG格式怎么做的必应收录提交入口
  • wen前端网站开发日记广州seo推荐
  • 广州 网站建设网络推广网页设计seo专业优化方法
  • 深圳个人网站制作2024北京又开始核酸了吗今天
  • 音乐网站怎么建设数据分析师一般一个月多少钱
  • 分发平台seo文章推广
  • 安溪县建设局网站宁德网站建设制作
  • 建设工程消防监督管理规定网站网销平台排名
  • 购物网站建设方案最新小组排名
  • 八戒影视大全教程推广优化网站排名
  • 怎么做盗版视频网站中视频自媒体平台注册官网
  • 网站平台怎么建设8大营销工具指的是哪些
  • 摄影设计网站网络优化师是什么工作
  • 手机购物平台上海高玩seo
  • 求有题目做的学习网站aso优化app推广
  • 做cps需要什么样的网站庆云网站seo
  • 商城网站制作搜索引擎营销的特点
  • 网站建设委托合同怎么优化整站
  • 西湖区建设局网站如何制作一个自己的网页网站