原文地址:http://blog.csdn.net/wooin/archive/2008/05/14/2446721.aspx


用Microwindows(Nano-X)编写“hello world”

By: 吴垠
Date: 2008-05-09
Homepage: http://blog.csdn.net/wooin
Email: lazy.fox.wu#gmail.com
Copyright: 该文章版权由吴垠和他可爱的老婆小包子所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者 同意。
Link:  http://blog.csdn.net/wooin/archive/2008/05/14/2446721.aspx

1. Microwindows, 又叫Nano-X,是一个轻巧的GUI系统,由于其是开源免费的,并且支持中文,所以常被用在需要显示图形界面的嵌入式设备中。对 Microwindows的介绍我就不说了,Google上可以搜到很多。本文主要是介绍如何从网上下载一个Microwindows,并且编译,然后用 Microwindos写出一个自己的"hello world"程序。注意:这里介绍的只是在PC上运行的Microwindows,不是交叉编译嵌入式环境的。

这里(www.microwindows.org) 是Microwindows的官方网站,已经有很多年没有更新了,但是Microwindows的应用并没有因此而减弱。

2. 下面开始今天的工作(我的Linux发 行版是Fedora 5),首先从网站上下载一个Microwindows的源码包,我们用0.90版的,下载后应该是这样的一个文件:microwindows- 0.90.tar.gz
用下面的命令解压,并进入其源码目录:

$ tar -xzvf microwindows-0.90.tar.gz
$ cd microwindows-0.90/src
3. 修改几个文件:

文件 Arch.rules
21行:
COMPILER = gcc
改为
COMPILER = gcc32

因为Fedora 5默认的gcc是4.1.0版,语法检查太严格,Microwindows编译会出错。如果你的发行版上默认的gcc也是4.x版的,请换成3.x版的, 将上面的“gcc32”换成你Linux上gcc 3.x版本的名字,没有的话可能就要自己安装了。
用gcc 4.x也不是不能编译,只是由于Microwindows的代码太老了,跟新编译器不兼容,编译会出一些错误,你按照错误提示修改一下源代码也可以编译通 过,有点麻烦,这里我就不详细介绍了。

110行:
LINK_APP_INTO_SERVER     = N
改为
LINK_APP_INTO_SERVER     = Y
修改文件 config
136行:
HAVE_JPEG_SUPPORT        = Y
改为
HAVE_JPEG_SUPPORT        = N
因为我的电脑上没有 /usr/lib/libjpeg.a 这个文件,编译会出错,如果你有这个文件,
你可以试试不修改上面这行,看看能不能编译通过。
这个可以让Microwindows支持jpeg文件
259行:
X11                      = N
改为
X11                      = Y
修改这个配置让Microwindows使用X11的鼠标和键盘的驱动程序
4. 编译Microwindows:
在microwindows-0.90/src目录下运行make命令进行编译:

$ make

如果没有意外的话会编译成功。如果还有错误的话可能就是你的Linux环境缺文件,可以根据编译报错的提示信息修改config文件试试。

运行一下bin目录下的Demo程序看看你是否编译成功了。mine程序是Microwindows自带的一个扫雷游戏,跟windows下的一样。运行 一下试试:

$ cd bin
$ ./mine

如果你可以看到下图中的游戏界面,就说明你编译成了,恭喜!!

5. 编写自己的"Hello World"程序,在src目录下建一个“projects”文件夹
$ mkdir projects
$ cd projects
然后在里面编写我们的程序,下面列出了“hello.c”源程序和“Makefile”
6.
**************************************************************************

*/

 (){     root_wid, wid;     gc;     x, y;     width, height;     event;

    x  ;    y  ;    width  ;    height  ;

     (()  )    {        (");         ;    }

    gc  ();

    root_wid  (GR_ROOT_WINDOW_ID, x, y, width, height,            , GR_COLOR_ROYALBLUE, GR_COLOR_BLACK);

    wid  (root_wid, , 60, 200, 60, 1, GR_COLOR_BLACK, GR_COLOR_WHITE);    (root_wid);      (wid);       

    (gc, GR_COLOR_RED);       (gc, GR_COLOR_GREEN);     (root_wid, gc, , 20, , 1, GR_TFBOTTOM);

    (gc, GR_COLOR_RED);       (gc, GR_COLOR_GREEN);     (wid, gc, , 20, , 1, GR_TFBOTTOM);

     (;;)    {        (event);    }    ();

     ;}
7.

 TOP= ..= $(TOP)/config

= hello.o= hello

 default 

 /Makefile.rules

 (, Y)= $(CCNANOXCLIENTLIBS)

= $(NANOXCLIENTLIBS)

  $(NANOXCLIENTLIBS) $(TOP)/config $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)
8. 将上面两个源文件创建在你的projects文件夹中,然后运行make命令编译它,如果没有意外的话,在projects文件夹中应该生成一个“hello”可执行文件,执行它,就可以看到下面这个界面了:
9. 剩下的工作就是写你自己的程序了 ^_^

用Microwindows(Nano-X)编写“hello world”相关推荐

  1. Kubernetes应用程序开发认证(CKAD) 经验分享

    众所周知,Kubernetes在容器编排器大战中脱颖而出后,从2020年以来变得越发的火热.那么云原生计算基金会(CNCF)联合Linux基金会就适时的推出了皆在考察相关从业者对Kubernetes的 ...

  2. 树莓派4b入门之开发RFID系统—两种MFRC522读写脚本

    树莓派4b开发RFID系统-两种MFRC522读写脚本 前言 一.指定读写 二.直接读写 前言   本文介绍两种区分RFID标签-Mifare1 S50的Python脚本,除了基本的读取该RFID标签 ...

  3. 独家 | 如何为计算机视觉和深度学习安置英伟达?

    作者:Sangeet Aggarwal 翻译:王晓颖 校对:张若楠 本文约10000字,建议阅读10+分钟 本文教你如何使用 Tensor Flow,Keras,Tensor RT,以及OpenCV来 ...

  4. 深入浅出,快速弄明白 gst-launch-1.0 PIPELINE-DESCRIPTION 管道描述语法

    1 话说 gst-launch-1.0 这条命令老牛掰了,看是很复杂的媒体流,用这条命令,一行代码就搞定了.看看下面这行代码,区区几十个字符,就建立了测试视频流: gst-launch-1.0 vid ...

  5. 树莓派计算机视觉编程:1~5

    原文:Raspberry Pi Computer Vision Programming 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后编辑 ...

  6. 用Microwindows(Nano-X)编写中文程序

    原文地址:http://blog.csdn.net/wooin/archive/2008/06/24/2583144.aspx 用Microwindows(Nano-X)编写中文程序 By: 吴垠 D ...

  7. WinDBG插件编写介绍及在Nano Code中加载扩展

    穷理者,因其所已知而及其所未知,因其所已达而及其所未达.人之良知,本所固有.然不能穷理者,只是足于已知已达,而不能穷其未知未达,故见得一截,又不曾见得一截,此其所以于理未精也.然仍须功夫日日增加.今日 ...

  8. (jetson nano)ubuntu安装vscode为ros编写提供开发环境

    步骤: 1.下载vscode安装包(解决下载慢的问题) 2.安装vscode和打开vscode 3.将ros工作空间添加到vscode中开始程序开发 1.下载vscode 到vscode官网寻找自己需 ...

  9. 关于Microwindows(nano x)2410的移植

    需要安装arm-linux-gcc2.95.3,好像其他的也可以吧~没试过. 安装方法网上一搜到处都是,不在此做介绍了. 1.需要在microwindows官网上下载一个工具包, ftp://micr ...

最新文章

  1. windows linux 通过SSH X11Forwrding 使用图形化界面
  2. java tomcat原理图,浅谈tomcat工作原理
  3. 设计模式--23、访问者模式
  4. 2020年度中国生命科学十大进展揭晓
  5. 全员学习低代码,一汽大众领跑数智化转型背后的秘密
  6. php快废了,PHP为什么要逐渐废弃一些函数?出于什么原因呢?
  7. 数据结构链表知识入门
  8. 边缘深度学习设备基准评测:英伟达Jetson Nano胜出
  9. 华为Mate X2再曝光:全新向内折叠方案 有望彻底消除折痕
  10. ubuntu下用vagrant搭建集群环境
  11. bzoj千题计划141:bzoj3532: [Sdoi2014]Lis
  12. poj1836——dp,最长上升子序列(lis)
  13. 基于Python实现仿Windows标准计算器
  14. [UE]EpicGames Launcher 添加/识别本地已有编辑器版本
  15. C#Assembly详解
  16. java开发名言_java实现收藏名言语句台词的app
  17. tplogin 服务器未响应,为什么tplogin.cn老是域名解析错误
  18. markdown编辑器的基础语法
  19. 复盘港股2021:新股上市热潮不减,市场重现“冰火两重天”
  20. 【Python开发】Flask中的单点登录解决方案

热门文章

  1. Java基础-static 关键字解析
  2. JS(JavaScript)的初了解3(更新中···)
  3. [六省联考2017]组合数问题
  4. InfoQ宣布成立CNUT容器技术俱乐部 欲连接中国容器社区
  5. 成立仅8个月的个人网站,月收入几十万美金
  6. QT中在终端下写个小例子
  7. 【转】HTML5第一人称射击游戏发布
  8. object-c 运行时显示view没有设置outlet的错误
  9. matlab最优控制实验报告_第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt...
  10. 计算机系统的可靠性可以用什么来表示,系统分析师考试计算机系统的可靠性指标...