色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AWTK開發(fā)應(yīng)用程序需要遵循的規(guī)范和方法

AGk5_ZLG_zhiyua ? 來源:ZLG致遠(yuǎn)電子 ? 作者:ZLG開發(fā)者社區(qū) ? 2022-09-07 11:52 ? 次閱讀

AWTK 是 ZLG 開源的跨平臺(tái) GUI 引擎,本文介紹一下基于 AWTK 開發(fā)應(yīng)用程序需要遵循的規(guī)范和方法,以保證應(yīng)用程序也能跨平臺(tái)運(yùn)行。



盡量使用tkc中的函數(shù)



tkc 中提供了編碼、時(shí)間、網(wǎng)絡(luò)、串口、線程、互斥和文件系統(tǒng)等各種需要跨平臺(tái)接口的封裝,這些接口在各個(gè)平臺(tái)都有實(shí)現(xiàn)。



針對(duì)接口編程

如果需要的某個(gè)功能,在各個(gè)平臺(tái)都有不同的實(shí)現(xiàn),先研究各個(gè)平臺(tái)提供的功能,再抽象一個(gè)統(tǒng)一的接口,針對(duì)各個(gè)平臺(tái)實(shí)現(xiàn)一個(gè)適配器。應(yīng)用程序使用統(tǒng)一的接口去訪問這些功能,應(yīng)用程序不但能夠跨平臺(tái)運(yùn)行,代碼也更具可讀性。


指定特定平臺(tái)的庫、頭文件、預(yù)處理參數(shù)和鏈接參數(shù)


helper 提供了一組函數(shù)來處理不同平臺(tái)的參數(shù)。平臺(tái)名稱的取值有:
  • “Windows” Windows 平臺(tái);

  • Linux” Linux 平臺(tái);

  • “Darwin” MacOS 平臺(tái);

    * AndroidIOS 不使用 scons 編譯,故不使用這種方式。

  • 添加平臺(tái)特有的庫;

    示例:

helper.add_platform_libs("Windows",["ws2_32"])

helper.add_platform_libs("Linux",["pthread","dl","readline","m"])

helper.add_platform_libs("Darwin",["pthread","dl","readline","m"])

  • 添加平臺(tái)特有的庫的搜索路徑;

add_platform_libpath(self,platform_name,APP_LIBPATH)

示例:

helper.add_platform_libpath("Linux",["/usr/local/lib"])

* 注意這里的 APP_LIBPATH 是數(shù)組類型。
  • 添加平臺(tái)特有的頭文件的搜索路徑;

add_platform_cpppath(self, platform_name, APP_CPPPATH)

示例:

helper.add_platform_libpath("Linux", ["/usr/local/include"])

* 注意這里的 APP_CPPPATH 是數(shù)組類型。
  • 添加平臺(tái)特有的宏定義預(yù)處理參數(shù);

add_platform_ccflags(self, platform_name, APP_CCFLAGS)

示例:

helper.add_platform_ccflags("Linux", " -DSOME_MACRO=1 ")

* ccflags 是字符串格式不是數(shù)組。
  • 添加平臺(tái)特有的C++文件的預(yù)處理參數(shù);

add_platform_cxxflags(self, platform_name, APP_CXXFLAGS)

示例:

helper.add_platform_cxxflags("Linux", " -DSOME_MACRO=1 ")

* cxxflags 是字符串格式不是數(shù)組。
  • 添加平臺(tái)特有的鏈接參數(shù);

add_platform_linkflags(self,platform_name,APP_LINKFLAGS)

* linkflags 是字符串格式不是數(shù)組。


區(qū)分各個(gè)平臺(tái)的宏

  • WIN32 或 WINDOWS Windows 平臺(tái);
  • MINGW Windows 平臺(tái)的 MinGW 編譯;
  • LINUX Linux 平臺(tái);
  • MACOS 或__APPLE__ Macos 平臺(tái);
  • ANDROID Android 平臺(tái);
  • IOS iOS 平臺(tái)。
* 這些宏雖然可以區(qū)分不同的平臺(tái),但是如果將這些宏分散在應(yīng)用程序中,代碼將會(huì)變得丑陋難讀。建議先定義接口,在適配器中使用這些宏。示例:

#ifdefANDROID
#include"SDL.h"
#endif/*ANDROID*/

#ifdefined(__APPLE__)||defined(LINUX)
#include
#include
#include
#include
#elifdefined(WIN32)
#include
#include
#include
#include
#include
#include
#defineunlink_unlink
#definerenameMoveFileA
#defineftruncate_chsize
#include"./dirent.inc"
#include"tkc/utf8.h"
#include"tkc/mem.h"
#endif

#ifdefined(__APPLE__)
#include
#endif/*__APPLE__*/


添加平臺(tái)特有的文件

有些文件是特定平臺(tái)才需要的,可以根據(jù)平臺(tái)的名稱,來決定添加哪些文件。示例:

importplatform;

OS_NAME=platform.system()
ifOS_NAME=='Windows':
sources=Glob('src/windows/*.c')
elifOS_NAME=='Linux':

sources=Glob('src/linux/*.c')

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3529

    瀏覽量

    43267
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4364

    瀏覽量

    63807
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3316

    瀏覽量

    58514

原文標(biāo)題:【Z站推薦】用 AWTK 編寫跨平臺(tái)的代碼

文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    如何用AWTK和AWPLC快速開發(fā)嵌入式應(yīng)用程序

    AWPLC 是 ZLG 自主研發(fā)的 PLC 系統(tǒng)(兼容 IEC61131-3),本文用一個(gè)簡單的溫度控制系統(tǒng),來演示如何用 AWTK 和 AWPLC 快速開發(fā)嵌入式應(yīng)用程序
    的頭像 發(fā)表于 09-26 11:46 ?1544次閱讀

    基于AWTK和AWPLC開發(fā)走馬燈程序

    AWPLC 是 ZLG 自主研發(fā)的 PLC 系統(tǒng)(兼容 IEC61131-3),本文用一個(gè)簡單的走馬燈程序,來演示如何用 AWTK 和 AWPLC 快速開發(fā)嵌入式應(yīng)用程序
    的頭像 發(fā)表于 10-12 11:48 ?1247次閱讀

    【Z站推薦】用 AWTK 編寫跨平臺(tái)的代碼

    AWTK是ZLG開源的跨平臺(tái)GUI引擎,本文介紹一下基于AWTK開發(fā)應(yīng)用程序需要遵循
    的頭像 發(fā)表于 09-09 14:50 ?1073次閱讀
    【Z站推薦】用 <b class='flag-5'>AWTK</b> 編寫跨平臺(tái)的代碼

    AWTK和AWPLC快速開發(fā)嵌入式應(yīng)用程序 (1)-溫度控制器

    AWPLC是ZLG自主研發(fā)的PLC系統(tǒng)(兼容IEC61131-3),本文用一個(gè)簡單的溫度控制系統(tǒng),來演示如何用AWTK和AWPLC快速開發(fā)嵌入式應(yīng)用程序。背景AWTK全稱
    的頭像 發(fā)表于 09-28 09:57 ?889次閱讀
    用<b class='flag-5'>AWTK</b>和AWPLC快速<b class='flag-5'>開發(fā)</b>嵌入式<b class='flag-5'>應(yīng)用程序</b> (1)-溫度控制器

    【產(chǎn)品應(yīng)用】用 AWTK 和 AWPLC 快速開發(fā)嵌入式應(yīng)用程序 (3)- 定時(shí)器

    AWPLC是ZLG自主研發(fā)的PLC系統(tǒng)(兼容IEC61131-3),本文用一個(gè)用定時(shí)器實(shí)現(xiàn)的走馬燈程序,來演示如何用AWTK和AWPLC快速開發(fā)嵌入式應(yīng)用程序。背景
    的頭像 發(fā)表于 11-02 10:02 ?967次閱讀
    【產(chǎn)品應(yīng)用】用 <b class='flag-5'>AWTK</b> 和 AWPLC 快速<b class='flag-5'>開發(fā)</b>嵌入式<b class='flag-5'>應(yīng)用程序</b> (3)- 定時(shí)器

    【產(chǎn)品應(yīng)用】用 AWTK 和 AWPLC 快速開發(fā)嵌入式應(yīng)用程序 (2)-走馬燈

    AWPLC是ZLG自主研發(fā)的PLC系統(tǒng)(兼容IEC61131-3),本文用一個(gè)簡單的走馬燈程序,來演示如何用AWTK和AWPLC快速開發(fā)嵌入式應(yīng)用程序。背景
    的頭像 發(fā)表于 06-08 10:13 ?825次閱讀
    【產(chǎn)品應(yīng)用】用 <b class='flag-5'>AWTK</b> 和 AWPLC 快速<b class='flag-5'>開發(fā)</b>嵌入式<b class='flag-5'>應(yīng)用程序</b> (2)-走馬燈

    【從0開始創(chuàng)建AWTK應(yīng)用程序開發(fā)及調(diào)試環(huán)境搭建

    AWTK是基于C語言開發(fā)的跨平臺(tái)GUI框架。本系列文章介紹如何從0開始創(chuàng)建AWTK應(yīng)用程序,包括搭建開發(fā)調(diào)試環(huán)境、使用
    的頭像 發(fā)表于 11-11 10:00 ?918次閱讀
    【從0開始創(chuàng)建<b class='flag-5'>AWTK</b><b class='flag-5'>應(yīng)用程序</b>】<b class='flag-5'>開發(fā)</b>及調(diào)試環(huán)境搭建

    【從0開始創(chuàng)建AWTK應(yīng)用程序】創(chuàng)建應(yīng)用程序并在模擬器運(yùn)行

    AWTK是基于C語言開發(fā)的跨平臺(tái)GUI框架。本系列文章介紹如何從0開始創(chuàng)建AWTK應(yīng)用程序,包括搭建開發(fā)調(diào)試環(huán)境、使用
    的頭像 發(fā)表于 12-01 08:24 ?699次閱讀
    【從0開始創(chuàng)建<b class='flag-5'>AWTK</b><b class='flag-5'>應(yīng)用程序</b>】創(chuàng)建<b class='flag-5'>應(yīng)用程序</b>并在模擬器運(yùn)行

    【從0開始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到嵌入式Linux平臺(tái)運(yùn)行

    AWTK是基于C語言開發(fā)的跨平臺(tái)GUI框架。本系列文章介紹如何從0開始創(chuàng)建AWTK應(yīng)用程序,包括搭建開發(fā)調(diào)試環(huán)境、使用
    的頭像 發(fā)表于 12-07 12:08 ?910次閱讀
    【從0開始創(chuàng)建<b class='flag-5'>AWTK</b><b class='flag-5'>應(yīng)用程序</b>】編譯應(yīng)用到嵌入式Linux平臺(tái)運(yùn)行

    【從0開始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到RTOS平臺(tái)

    AWTK是基于C語言開發(fā)的跨平臺(tái)GUI框架。本系列文章介紹如何從0開始創(chuàng)建AWTK應(yīng)用程序,包括搭建開發(fā)調(diào)試環(huán)境、使用
    的頭像 發(fā)表于 03-21 08:23 ?845次閱讀
    【從0開始創(chuàng)建<b class='flag-5'>AWTK</b><b class='flag-5'>應(yīng)用程序</b>】編譯應(yīng)用到RTOS平臺(tái)

    AWTK-WEB 快速入門(1) - C 語言應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開發(fā)各種平臺(tái)的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用C語言開發(fā)
    的頭像 發(fā)表于 11-27 11:46 ?538次閱讀
    <b class='flag-5'>AWTK</b>-WEB 快速入門(1) - C 語言<b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(2) - JS 應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開發(fā)各種平臺(tái)的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用JS語言開發(fā)
    的頭像 發(fā)表于 12-05 01:04 ?349次閱讀
    <b class='flag-5'>AWTK</b>-WEB 快速入門(2) - JS <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(4) - JS Http 應(yīng)用程序

    導(dǎo)讀XMLHttpRequest改變了Web應(yīng)用程序與服務(wù)器交換數(shù)據(jù)的方式,fetch是其繼任者。本文介紹一下如何使用JS語言開發(fā)AWTK-WEB應(yīng)用程序,并用fetch訪問遠(yuǎn)程數(shù)據(jù)。
    的頭像 發(fā)表于 01-22 11:31 ?327次閱讀
    <b class='flag-5'>AWTK</b>-WEB 快速入門(4) - JS Http <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(5) - C 語言 WebSocket 應(yīng)用程序

    導(dǎo)讀WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用C語言開發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程序
    的頭像 發(fā)表于 02-19 11:49 ?301次閱讀
    <b class='flag-5'>AWTK</b>-WEB 快速入門(5) - C 語言 WebSocket <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(6) - JS WebSocket 應(yīng)用程序

    WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用Javacript語言開發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程
    的頭像 發(fā)表于 02-26 11:42 ?243次閱讀
    <b class='flag-5'>AWTK</b>-WEB 快速入門(6) - JS WebSocket <b class='flag-5'>應(yīng)用程序</b>
    主站蜘蛛池模板: 国产成人精品自线拍 | 暖暖 视频 免费 高清 在线观看 | 秋霞伦理电影在线看 | 媚药调教被撑到合不拢h | 九色PORNY真实丨国产大胸 | bt成人种子| 99久久久精品免费观看国产 | 国产69精品久久久久妇女 | 国产精品麻豆a啊在线观看 国产精品麻豆AV | 毛片网站在线观看 | 国产亚洲精品久久777777 | 少妇连续高潮抽搐痉挛昏厥 | 国产精品1区在线播放 | 黄色片软件大全 | 小776 论坛| 久久re这里视频精品15 | 伊人草 | 91久久精一区二区三区大全 | 欧美自拍亚洲综合图区 | 男男肉肉互插腐文 | 色吧最新网址 | 肉肉高潮液体高干文H | 强开乳罩摸双乳吃奶视频 | 国产精品嫩草影院在线观看免费 | 日本欧美午夜三级 | 日本国产成人精品无码区在线网站 | 亚洲 小说 欧美 激情 另类 | 空姐被黑人 苏晓曼 | 解开美女胸衣2破解版 | 97视频免费在线 | 玩弄放荡人妻一区二区三区 | 无码成A毛片免费 | 51vv视频社区 | 欧美又粗又长又大AAAA片 | 99久久精品国产免费 | 亚洲区偷拍自拍29P 亚洲区视频在线观看 | 高中生被C到爽哭视频免费 高挑人妻无奈张开腿 | 人妻无码AV中文系列 | 玖玖爱这里只有精品视频 | 中文字幕绝色少妇性 | 2021自产拍在线观看视频 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品