• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            引用自:http://www.sf.org.cn/Article/symbiandev/200508/25.html

            symbian學(xué)習(xí)筆記一

            第一部分: hello world程序解說

            symbian的不同點:
            需要自己處理下面的事情
            :
            trap harness,cleanup stack,leave,heap marking
            也就是需要自己進行錯誤檢查
            ,
            由于沒有異常機制,所以symbian使用cleanupstack處理異常

            TRAP
            宏像是catch() 函數(shù)名帶L的像是
            throw
            最后只要在E32Main里面使用一次TRAP就可以了 這樣保證內(nèi)存沒有瀉漏


            對于c字符串,需要使用_L把它轉(zhuǎn)換成symbain使用的描述

            symbian
            是面向?qū)ο蟮模詫Χ鄶?shù)c庫函數(shù)進行了封裝,
            printf
            symbian
            的入口是E32Main函數(shù)

            GLDEF_C
            宏表示這個函數(shù)是模塊的接口

            由于c中沒有規(guī)定基本類型的長度,symbian使用typedef重定義了基本類型,TInt16表示16
            int

            編譯
            :
            工程定義文件

            可以使用codewarrior或是gcc編譯,我們把編譯相關(guān)信息放在工程定義文件中(擴展名為.mmp,makmake project),并使用其它工具把mmp文件變成makefile或是其它環(huán)境下(codewarrior)的工程文件.下面是hellotext.mmp的內(nèi)容
            :
            // hellotext.mmp
            TARGET HelloText.exe
            TARGETTYPE exe
            SOURCEPATH .
            UID 0
            SOURCE hellotext.cpp
            USERINCLUDE .
            SYSTEMINCLUDE epoc32include
            LIBRARY euser.lib
            TARGET
            表示生成的可執(zhí)行文件的名字,TARGETTYPE表示生成的文件的類型,這里是
            exe
            UID
            GUI程序很重要,這里設(shè)置為
            0
            SOURCEPATH
            表示源文件(.cpp)的目錄

            SOURCE
            指明源文件名

            USERINCLUDE
            SYSTEMINCLUDE表示用戶自己聲明的頭文件與系統(tǒng)頭文件的目錄

            通常我們都需要把SYSTEMINCLUDE聲明成
            epoc32include
            LIBRARY
            聲明需要鏈接的庫,一般需要E32用戶庫就可以,也就是
            euser.lib

            組件定義文件

            symbian
            需要一個組件定義文件,這個文件名字總是bld.inf,在這個文件中包含所有的工程定義文件(mmp),更復(fù)雜的情況下會包括其它相關(guān)信息

            下面是hellotext

            // BLD.INF
            PRJ_MMPFILES
            hellotext.mmp

            編譯

            cd scmphellotext
            bldmake bldfiles
            上面的命令會在scmphellotext下生成abld.bat文件,同時會創(chuàng)建epoc32buildscmphellotext目錄

            abld build winscw udeb
            winscw
            表示生成codewarrior(cw)模擬器
            (win
            simulator)
            的工程文件,udeb表示創(chuàng)建unicodedebug版本

            build
            分下面六個步驟
            :
            export
            過程復(fù)制輸出文件到它們的目標(biāo),一般會把通用頭文件復(fù)制到epoc32include,多數(shù)應(yīng)用程序在這步不需要任何操作

            makefile
            階段生成必須的makefileide的工作空間(vcdsp文件
            )
            庫階段創(chuàng)建輸入庫

            資源階段創(chuàng)建應(yīng)用程序的資源文件,位圖和應(yīng)用程序信息文件
            (aufs)
            目標(biāo)階段生成應(yīng)用程序的主執(zhí)行文件

            最后階段執(zhí)行任何最后的操作,多數(shù)程序這里不需要


            這些階段都有選項在abld工具中,可以使用abld help得到各選項內(nèi)容


            最后結(jié)果放在epoc32releasewinscwudebhellotext.exe,你可以在那里雙擊它


            自己的操作如下

            bldmake bldfiles @UIQ_21:com.symbian.UIQ
            abld build wins udeb @UIQ_21:com.symbian.UIQ
            然后運行
            epoc32releasewinscwudebhellotext.exe
            使用@UIQ_21:com.symbian.UIQ的原因是因為沒有設(shè)置EPOCROOT環(huán)境變量,并且安裝了兩套symbian環(huán)境一個安裝在
            C:SymbianUIQ_21

            創(chuàng)建手機上運行的程序

            abld build armi urel

            創(chuàng)建安裝文件

            scmphellotext下運行

            makesys hellotext.pkg
            這將會生成hellotext.sis,你可以把它上傳到手機上

            posted on 2006-02-25 05:25 移動開發(fā) 閱讀(519) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


             
            亚洲精品乱码久久久久久蜜桃不卡| 久久久久婷婷| 国产亚洲精品久久久久秋霞| 久久久久久国产a免费观看不卡| 久久这里只精品国产99热| 精品永久久福利一区二区| 亚洲国产精品无码久久一区二区| 狠狠色丁香久久婷婷综合_中| 中文成人无码精品久久久不卡| 欧美日韩成人精品久久久免费看| 久久国产综合精品五月天| 久久久噜噜噜久久| 亚洲AV无码久久精品蜜桃| 久久不见久久见免费视频7| 久久最新精品国产| 久久精品国产WWW456C0M| 亚洲伊人久久综合影院| 三上悠亚久久精品| 亚洲狠狠综合久久| 欧美日韩精品久久久久| 久久精品国产亚洲av高清漫画| 国产精品久久国产精品99盘| 久久99精品久久久久久噜噜| 久久亚洲精品无码aⅴ大香| 久久精品无码专区免费东京热 | 亚洲精品美女久久久久99| 久久人人爽人人爽人人片AV不| 日本精品久久久中文字幕| 亚洲欧洲中文日韩久久AV乱码| 777午夜精品久久av蜜臀| 九九久久99综合一区二区| 亚洲午夜久久久| 亚洲狠狠久久综合一区77777| 大香伊人久久精品一区二区| www亚洲欲色成人久久精品| 久久无码专区国产精品发布| 国产V亚洲V天堂无码久久久| 久久久亚洲欧洲日产国码是AV | 青青草原精品99久久精品66| 久久天天日天天操综合伊人av| 精品久久8x国产免费观看|