• 忙活了半宿,终于有眉目了


    比较有成就感,虽然只改了少少的几个部分,但是是很麻烦,很繁琐的活。。。

    现在我的图形库使用起来更加简单方便了,类似于Windows SDK编程了,当然了,我还没有添加各种消息映射方法,指日可待。。。

    本来上周打算这两周拼死拼活弄出个文件系统来的,哪怕fat,但是由于昨天测试证实我的这套库可以在 arm contex a9 上跑(由于没有文件系统,很多东西无法直接访问,所以我写的东西也无法直接在裸机上去硬盘里面找资源、所以,暂且还是用linux内核+libc+ext3,不管它了,反正以后都是要做的,现在个人能力不足,所以先用它),所以,我决定,先把图形界面库给做出来,起码能用。

    我的测试环境,Fedora,初始化N个模块之后,就可以直接创建桌面了。

    图像是分层的,在初始化桌面的时候,直接把图层也给初始化了。

    然后就是设置了 WNDCLASS 之后,直接创建窗口,给它一个坐标,大小,还有父窗口句柄就可以了。

    图层、窗口的问题,我想了两天,最终是以图层包含窗口,窗口控制图层的方式,互相操作。(图层也可以独立操作)

    由于图层绑定窗口,所以,如果准备销毁所有窗口的话,可以直接销毁图层模块,所有窗口就都可以销毁了。

    也可以单独只销毁一个窗口。。。

    我的模块拆解还不是很好,有些模块的耦合性还是太高。。。还在继续修改中。。。

    有空还是要继续再封装一下。。。

    图片

    一个函数创建窗口,ShowWindow 移动图层,窗口显示

    图片

    图片

    指定父窗口上,再创建一个子窗口,使其显示

    图片

    图片

    最后这张图。是我用来测试内存泄漏的,由于我用的内存管理模块是我自己写的,所以在destory 的时候,我清楚地知道它有没有内存泄漏。

    实际上还好,没有泄露,第一个 memory = 0 是正常的时候,内存没有泄露的结果

    第二个 memory = 22 ,是我在注释掉 window_destory 之后,11个结构体没有销毁,22块内存没有被释放的结果。

    感觉很好。。。

    其实,本来12点左右的时候就应该可以弄完的,但是由于个人疏忽,结果导致一个小错误调了一个半小时。。。哎。。。

    现在已经挺有样了,我该考虑往里面加消息之类的响应函数了。。。
  • 相关阅读:
    ios 常见性能优化
    ios Standard Framework和Umbrella Framework
    lua 中容易忘记的细节
    python md5
    lua table 排序
    centos 图形模式与命令行模式设置
    python 中关于 json 的一些相关操作
    python3 入门基础
    lua 函数
    sublime 自定义配置python开发环境
  • 原文地址:https://www.cnblogs.com/suanguade/p/4038012.html
Copyright © 2020-2023  润新知