(3)碼乙個Zeta Linux應用程式

2021-10-09 23:05:48 字數 1948 閱讀 1416

像我們學習一門編語言那樣,從碼乙個hello world應用程式開始我們的zeta linux之旅!嵌入式產品常伴有帶顯示與不帶顯示之分,即使同一類產品,也會存在是否有顯示的形態差異。比如行車記錄儀,有帶顯示屏的小機及後視鏡,也有不帶顯示屏的口紅機及隱藏式記錄儀。下文將展示如何編寫乙個不含gui的在終端視窗列印hello world的程式,以及乙個包含嵌入式gui的在顯示屏上通過gui控制顯示hello world的程式。

乙個zeta linux程式/模組至少包含兩部分,makefile檔案zeta.in以及原始碼檔案。本例中,應用程式名字為demo_terminal_helloworld,建立相應的檔案:

mkdir demo_terminal_helloworld/

touch zeta.in main.c

編寫makefile檔案:

target_path:=

$(call my-dir)

include $(clear_vars)

target_inc:=

target_src:= main.c

target_cppflags += -fpic -wall

target_cflags += -fpic -wall

target_module := demo_terminal_helloworld

include $(build_bin)

編寫原始碼檔案:

#include

#include

intmain()

編譯應用程式:

zmake zeta.in

將編譯生成的可執行檔案通過adb推送到裝置裡面執行,可在終端輸出"hello world."。

zeta linux支援多種gui引擎,目前在zeta上順利執行使用的gui有minigui、direcefb、qt、littlevgl。本例中使用minigui。使用minigui需要在zeta.in中顯式指定程式所用的minigui動態庫,zeta.in如下:

target_path :=

$(call my-dir)

include $(env_clear)

target_src := ./main.c

target_shared_lib += libminigui_ths

target_module := demo_gui_helloworld

include $(build_bin)

編寫原始碼檔案,在視窗中輸出hello world!

#include

#include

#include

#include

#include

static bitmap bmp_bkgnd;

static

int hellowinproc (hwnd hwnd,

int message, wparam wparam, lparam lparam)

case msg_create:

case msg_close:

}return defaultmainwinproc (hwnd, message, wparam, lparam);}

intminiguimain

(int argc,

const

char

* ar**)

unloadbitmap

(&bmp_bkgnd)

; mainwindowthreadcleanup (hmainwnd)

;return0;

}#ifndef _mgrm_processes

#include

#endif

將編譯生成的可執行檔案通過adb推送到裝置裡面執行,可在顯示屏上顯示"hello world."。

我是乙個碼農

考大學的事情,不知道選什麼專業,也不知道能上什麼學校,很沒底氣的選了一所挖石油的大學學計算機。結果被錄取了,結果就學了計算機,結果就走上了碼農的道路。一路走來,算算年頭,我家門口的一顆李子樹,都由拇指粗細長成碗口粗細了。在我家果園的果子經歷一年又一年四季的時候,我在帝都經歷第乙份工作,08年奧運會,...

floyd的乙個應用

poj3660 cow conte include 題目分析 如果 奶牛能力確定,則贏它的奶牛數 輸給它奶牛數 n 1 define max 5555 bool a max max a x y 1 表示 x 與 y 比賽,x勝 int b max c max c i 表示第i個奶牛贏過的奶牛數 b ...

開發乙個React Electron應用

最近用react electron開發了乙個rss閱讀器,開源在 github.com breeze2 bre 這裡記錄一下大致的開發過程。以普通的react應用做基礎,一步步初始化專案。預先安裝yarn工具,用yarn來建立乙個react應用專案,假設名字叫demo,再引入electron依賴。c...