日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

【Z站推薦】用 AWTK 編寫跨平臺的代碼

ZLG致遠(yuǎn)電子 ? 2022-09-09 14:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AWTK 是 ZLG 開源的跨平臺 GUI 引擎,本文介紹一下基于 AWTK 開發(fā)應(yīng)用程序需要遵循的規(guī)范和方法,以保證應(yīng)用程序也能跨平臺運(yùn)行。93ae978a-2eec-11ed-9ade-dac502259ad0.jpg ?盡量使用tkc中的函數(shù)tkc 中提供了編碼、時間、網(wǎng)絡(luò)、串口、線程、互斥和文件系統(tǒng)等各種需要跨平臺接口的封裝,這些接口在各個平臺都有實現(xiàn)。
93ae978a-2eec-11ed-9ade-dac502259ad0.jpg ?針對接口編程

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


93ae978a-2eec-11ed-9ade-dac502259ad0.jpg ?指定特定平臺的庫、頭文件、預(yù)處理參數(shù)和鏈接參數(shù)helper 提供了一組函數(shù)來處理不同平臺的參數(shù)。平臺名稱的取值有:

“Windows” Windows 平臺;

Linux” Linux 平臺;

“Darwin” MacOS 平臺;

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

添加平臺特有的庫;

示例:

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"])

添加平臺特有的庫的搜索路徑;

add_platform_libpath(self,platform_name,APP_LIBPATH)

示例:

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

* 注意這里的 APP_LIBPATH 是數(shù)組類型。

添加平臺特有的頭文件的搜索路徑;

add_platform_cpppath(self, platform_name, APP_CPPPATH)

示例:

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

* 注意這里的 APP_CPPPATH 是數(shù)組類型。

添加平臺特有的宏定義預(yù)處理參數(shù);

add_platform_ccflags(self, platform_name, APP_CCFLAGS)

示例:

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

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

添加平臺特有的C++文件的預(yù)處理參數(shù);

add_platform_cxxflags(self, platform_name, APP_CXXFLAGS)

示例:

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

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

添加平臺特有的鏈接參數(shù);

add_platform_linkflags(self,platform_name,APP_LINKFLAGS)

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

93c1d94e-2eec-11ed-9ade-dac502259ad0.jpg 區(qū)分各個平臺的宏

  • WIN32 或 WINDOWS Windows 平臺;
  • MINGW Windows 平臺的 MinGW 編譯;
  • LINUX Linux 平臺;
  • MACOS 或__APPLE__ Macos 平臺;
  • ANDROID Android 平臺;
  • IOS iOS 平臺。

* 這些宏雖然可以區(qū)分不同的平臺,但是如果將這些宏分散在應(yīng)用程序中,代碼將會變得丑陋難讀。建議先定義接口,在適配器中使用這些宏。示例:

#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__*/

93c1d94e-2eec-11ed-9ade-dac502259ad0.jpg 添加平臺特有的文件有些文件是特定平臺才需要的,可以根據(jù)平臺的名稱,來決定添加哪些文件。示例:

importplatform;

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

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

【版權(quán)聲明】本文為ZLG開發(fā)者社區(qū)用戶原創(chuàng)內(nèi)容,未經(jīng)授權(quán)不得轉(zhuǎn)載。歡迎更多用戶到社區(qū)交流互動、創(chuàng)作博文,一經(jīng)采用,可獲得百元京東E卡。

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74417
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    EsDA科普 | AWTK:打造流暢、開源、平臺的嵌入式GUI

    工業(yè)GUI開發(fā)四大坑:界面卡、啟動慢、平臺難、版權(quán)貴。AWTK純C語言+自研算法破局,一套代碼跑遍全
    的頭像 發(fā)表于 04-09 11:35 ?364次閱讀
    EsDA科普 | <b class='flag-5'>AWTK</b>:打造流暢、開源、<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>的嵌入式GUI

    什么是低代碼:低代碼開發(fā)平臺詳解 5個優(yōu)質(zhì)低代碼平臺工具

    的在于“開發(fā)模式”和“門檻”,一張通俗的對比就能看懂: 傳統(tǒng)開發(fā)工具:需手動編寫大量代碼,門檻高,僅專業(yè)程序員能使用,開發(fā)周期長(數(shù)月),迭代繁瑣,人力成本高; 低代碼開發(fā)
    發(fā)表于 04-07 16:03

    使用PYTHON進(jìn)行的平臺仿真

    內(nèi)部的解決方案,而且還允許平臺模擬,以從其他程序或編程語言獲益,并結(jié)合熟悉物理光學(xué)特性的VirtualLab Fusion,從而擴(kuò)展模擬、優(yōu)化、設(shè)計和后處理的選項。 因此,我們正在深入研究
    發(fā)表于 04-02 08:21

    2026年低代碼平臺市場綜合評測:國內(nèi)10大低代碼平臺深度解析

    、供應(yīng)鏈管理、零售門店數(shù)字化、移動辦公應(yīng)用。 6.簡道云(綜合評分:87.8) 核心定位:中小企業(yè)輕量化數(shù)字化一式工具,定位為零代碼快速搭建平臺,以“靈活易用、快速迭代”為核心特點(diǎn)。 核心優(yōu)勢:純可
    發(fā)表于 03-30 16:02

    代碼開發(fā)平臺推薦:2025國內(nèi)低代碼開發(fā)平臺排名TOP10

    代碼開發(fā)平臺排行榜 在企業(yè)數(shù)字化轉(zhuǎn)型的浪潮中,低代碼開發(fā)平臺正逐漸成為企業(yè)實現(xiàn)高效開發(fā)和快速迭代的重要工具。隨著技術(shù)的不斷進(jìn)步和市場需求的持續(xù)增長,低
    的頭像 發(fā)表于 10-28 10:22 ?988次閱讀

    2025主流低代碼平臺有哪些:低代碼開發(fā)平臺選型指南指南

    在企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)入深水區(qū)的當(dāng)下,低代碼開發(fā)平臺已從早期的“效率工具”升級為“核心基建”。其工程化能力、流程適配深度、技術(shù)延展性與行業(yè)積淀,直接決定了企業(yè)轉(zhuǎn)型的成效。據(jù)Gartner預(yù)測,到2026
    的頭像 發(fā)表于 10-22 11:49 ?549次閱讀

    物聯(lián)網(wǎng)平臺設(shè)備關(guān)聯(lián)+拖拽式搭建

    提到物聯(lián)網(wǎng),很多人會想到“傳感器采集數(shù)據(jù)、設(shè)備遠(yuǎn)程控制”,但很少有人知道:讓分散的傳感器“說話互通”、讓不懂編程的人也能搭建物聯(lián)網(wǎng)應(yīng)用,背后都離不開“物聯(lián)網(wǎng)平臺”。物聯(lián)網(wǎng)項目的“中樞大腦”,通過
    的頭像 發(fā)表于 08-29 15:35 ?915次閱讀

    什么是零代碼平臺

    代碼平臺是一種無需編寫傳統(tǒng)代碼,通過可視化拖拽、參數(shù)配置、邏輯連線即可快速搭建業(yè)務(wù)流程與應(yīng)用系統(tǒng)的工具平臺。它將復(fù)雜的軟件開發(fā)過程轉(zhuǎn)化為
    發(fā)表于 07-12 20:28

    ArkUI-X平臺技術(shù)落地-華為運(yùn)動健康(二)

    代碼依賴了鴻蒙Next系統(tǒng)的原生能力,我們將該原生能力包稱為A包;與此同時,我們開發(fā)平臺場景包,為了描述方便,我們將這個包命名為B包,B包的接口形式與數(shù)據(jù)結(jié)構(gòu)跟A包保持一致,但是B包的內(nèi)部實現(xiàn)與A包
    發(fā)表于 06-18 23:04

    ArkUI-X平臺技術(shù)落地-華為運(yùn)動健康(一)

    NEXT系統(tǒng)上運(yùn)動健康的架構(gòu)設(shè)計如下: 1.新建獨(dú)立平臺的Entry模塊,該平臺Entry模塊用于編譯
    發(fā)表于 06-18 22:53

    ArkUI-X平臺應(yīng)用改造指南

    ArkUI-X平臺應(yīng)用改造指南 現(xiàn)狀與訴求 隨著 HarmonyOS Next 5.0 版本正式發(fā)布,眾多開發(fā)者基于 ArkTS 語言為 HarmonyOS Next 系統(tǒng)開發(fā)了大量應(yīng)用,這極大
    發(fā)表于 06-16 23:05

    ArkUI-X平臺差異化

    平臺使用場景是一套ArkTS代碼運(yùn)行在多個終端設(shè)備上,如Android、iOS、OpenHarmony(含基于OpenHarmony發(fā)行的商業(yè)版,如HarmonyOS Next)。當(dāng)不同平臺
    發(fā)表于 06-10 23:08

    ArkUI-x平臺Bridge最佳實踐

    代碼中?到了不?持平臺的API,此時?想平臺可以利?此機(jī)制將不?持
    發(fā)表于 06-10 23:06

    ArkUI-X平臺框架接入指南

    ArkUI平臺框架(ArkUI-X)進(jìn)一步將ArkUI開發(fā)框架擴(kuò)展到了多個OS平臺:目前支持OpenHarmony、Android、 iOS,后續(xù)會逐步增加更多平臺支持。開發(fā)者基于一
    發(fā)表于 05-18 18:21

    AWTK,開啟屬于你的GUI之美

    在當(dāng)今數(shù)字化時代,軟件界面設(shè)計的高效性和一致性至關(guān)重要。本文將探討GUI設(shè)計從傳統(tǒng)代碼編寫到所見即所得工具的演變,并介紹AWTK如何通過一致的渲染技術(shù),為開發(fā)者帶來高效且直觀的開發(fā)體驗。傳統(tǒng)GUI
    的頭像 發(fā)表于 05-13 11:31 ?1465次閱讀
    <b class='flag-5'>AWTK</b>,開啟屬于你的GUI之美
    桑植县| 泰州市| 葵青区| 永州市| 永嘉县| 招远市| 莫力| 出国| 芒康县| 东台市| 新绛县| 顺昌县| 股票| 来安县| 南投县| 珠海市| 齐齐哈尔市| 新宾| 高邑县| 乌拉特后旗| 浦江县| 安福县| 郁南县| 吉木乃县| 大埔区| 托里县| 千阳县| 阿克陶县| 家居| 黎平县| 许昌市| 保康县| 乌拉特后旗| 南丰县| 历史| 弋阳县| 湄潭县| 科技| 崇左市| 蒲城县| 宝坻区|