- 博客(28)
- 收藏
- 关注
原创 minigui之其它编程主题
十二.其它编程主题一.定时器1.相关函数定时器消息1次默认是10ms定时器回调函数typedef BOOL (* TIMERPROC)(HWND, int, DWORD);参数HWND:创建定时器时传入的窗口句柄。如果没有必要使用,可传任何32位值int: 定时器idDWORD: 该定时器被触发时的系统滴答值当 TIMERPROC 返回值为 FALSE 时, MiniGUI 将自动删除该定时器BOOL GUIAPI ResetTimerEx (HWND hWnd, int id,
2022-03-25 23:25:02 220
原创 第二阶段上课笔记
第二阶段上课笔记进程间通信一.前言二.管道1.pipePIPE: 利用文件的接口方式来实现进程间通信PIPE就是一个文件(此文件不存在于外设中,而是在内存中),操作PIPIE就是操作文件一样。PIPE只能用于有亲缘关系的进程间通信(要么你是我的晚辈,要么我们有同一个祖宗)。PIPE就是水管的意思,又名无名管道。PIPE的特点:1. 一端读,一端写2. 按顺序读,不支持lseek3. 内容读走了,就没有了4. 存在于内存,随进程持续性5. 只能用于有亲缘关系的进程间通信(why?
2022-03-25 23:13:43 1526
原创 linux基础操作
第一天1.什么是内建命令(内置命令)所谓 Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件。该命令并不是某个外部文件,只要在 Shell 中你就一定可以运行这个命令。可以使用 type 来确定一个命令是否是内建命令:[root@localhost ~]# type cdcd is a Shell builtin内建命令会比外部命令执行得更快,执行外部命令时不但会触发磁盘 I/O,还需要 fork 出一个单独的进程来执行,执行完成后再退出。而执行内建
2022-03-25 22:56:58 835
原创 linux进程笔记
一.前言1.程序和进程程序是存在磁盘上的二进制文件进程是抽象的,是动态的,是占用系统资源的(内存,cpu)等; 磁盘不属于系统资源2.单道程序设计模型和多道程序设计模型单道程序设计模型Dos操作系统 任务是一个一个执行的,不能多个任务同时执行多道程序设计模型程序是分时进行的,由于cpu速度很快,所以在人类的眼里,所有任务几乎是同时进行的,我们称之为并发3.cpu4.PCB1.进程ID2.进程的四种状态:运行,就绪,挂起,停止3.进程的切换存储的信息4.进程虚
2022-03-25 22:46:40 240
原创 minigui之其它编程主题
十二.其它编程主题一.定时器1.相关函数定时器消息1次默认是10ms定时器回调函数typedef BOOL (* TIMERPROC)(HWND, int, DWORD);参数HWND:创建定时器时传入的窗口句柄。如果没有必要使用,可传任何32位值int: 定时器idDWORD: 该定时器被触发时的系统滴答值当 TIMERPROC 返回值为 FALSE 时, MiniGUI 将自动删除该定时器BOOL GUIAPI ResetTimerEx (HWND hWnd, int id,
2022-03-14 21:41:29 440
原创 minigui学习笔记五
界面外观及特效一.外观渲染器及窗口元素属性1.前言1.1为什么引入渲染器以前的版本在编译前就必须进行编译配置,选定界面风格,在 fashion、 classic 和 flat 中选其一1.2优点可以通过MiniGUI配置文件来修改界面外观也可以通过函数接口来控制界面外观1.3作用实现窗口以及控件外观的绘制1.4实现窗口元素的属性,包括窗口元素的颜色、尺寸、字体等信息窗口元素的渲染方法,定义如何绘制窗口元素1.5四种渲染器classic、 flat、 fashion、 sk
2022-03-14 19:39:21 1020
原创 minigui学习笔记一
三.窗口和消息1.窗口系统(基于事件驱动和树层次) (桌面窗口/根窗口) ---------- 占满整个桌面,没有父窗口 桌面 疑问:桌面窗口是编程需要用户编,还是就是HWND_DESKTOP 框架窗口 框架窗口 ---------- 分为客户区和非客户区 子窗口 子窗口 2.窗口和屏幕绘制区的关系3.消息队列 每创建一个窗口其托管窗口为桌面的话,就会创建一个消息队列但文档上说:1.创建的第一个主窗口的托管窗口必须是桌面,其...
2022-03-14 19:36:08 1205 1
原创 minigui学习笔记四
十.图标、光标和插入符1.图标1.1概念 图标是一张小的图片 MiniGUI 对单色和16色和256色windows图标的载入、显示、创建和销毁的支持1.2 图标的装载和显示装载图标文件从文件中装载图标文件HICON GUIAPI LoadIconFromFile (HDC hdc, const char* filename, int which);hdc:设备上下文filename:图标文件名which:所选择图标的索引值 ---- 有的程序有两个图标(0 -> ...
2022-03-11 09:47:08 472
原创 minigui学习笔记三
八.滚动条1.概念 1.1滚动条既有垂直方向的(供上下移动),也有水平方向的(供左右移动) 1.2程序实际上是将文件相对于显示窗口向上移动 ---- 向上滚动意味着朝文件的开头移动,向下滚动意味着朝文件尾部移动 1.3关键字 在CreateWindow的第三个参数中包括窗口风格标识号WS_VSCROLL(垂直滚动)和(或)WS_HSCROLL(水平滚动) 这些滚动条默认在窗口的右部和底部 垂直滚动条显示在窗口的左侧: WS_EX_LEAFTSCR...
2022-03-10 17:34:41 1019
原创 miniGUI学习笔记二
五.控件基础编程1.控件的概念:所有的子窗口都是控件特点:与主窗口一致,但是其行为限制在主窗口内2.利用预定义类创建控件实例创建一个控件HWND GUIAPI CreateWindowEx2 (const char* spClassName,const char* spCaption, DWORD dwStyle, DWORD dwExStyle,int id, int x, int y, int w, int h, HWND hParentWnd,const char* werdr_name,
2022-03-09 19:06:41 1017 1
原创 2021-07-26
网络字节序与主机大小端网络字节序与网络字节传输有关系吗?没有关系,网络字节序只是一种标准,我们不知道传给我们数据的主机是大端模式还是小端模式。故而不能正确读出数据,但是现在有一种规定,网络传过来的数据是大端模式,这样我们就能确定怎样去读了。网络字节传输永远是从低字节开始传输下面我用来举例没有遵循网络字节序的标准的情况会是怎样struct data{ int a; int b; char c;}data;data.a = 0x12345678data.b = 0x0
2021-08-25 13:19:30 93
原创 判断B是否是A的子序列
判断B是否是A的子序列图片展示代码说明/判断链表B是否是A的子链表Bool is_child_list(Headnode list_A,Headnode list_B){ //1.判断链表是否存在 if(!is_exit_headnode_list(list_A) || !is_exit_headnode_list(list_B)) { return FALSE; } //2.判断链表是否为空 if(is_empty_he
2021-07-10 10:36:59 1318
原创 idea下的Android各目录所代表的含义
idea下的Android各目录所代表的含义1.Project模式结构模式.gradle和.idea这两个目录下都是AndroidStudio自动生成的文件。app项目中的代码、资源等内容几乎都是放置在这个目录下build这个目录包含了一些在编译时自动生成的文件。gitignore这个文件是用来将制定的目录或文件排除在版本控制之外的。build.gradle这是项目全局的gradle构造脚本gradle.properties这是项目全局的gradle配置文件
2021-03-07 11:33:33 3355 7
原创 2048字符版C语言实现
2048字符版C语言实现main.clcd.h 和 lcd.cinput.h 和 input.cgame.h 和 game.c运行效果显示main.c#include "game.h"int main(){ //1.初始化游戏 game_init(); //2.执行游戏 game_exec(); //3.结束游戏 //game_finish(); return 0;}lcd.h 和 lcd.clcd.h#ifndef __LC
2021-02-22 11:32:48 1667 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人