在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將函數封裝成庫使用的實現方法

h1654155282.3538 ? 來源:中文支持論壇 ? 作者:Aki Li ? 2020-12-19 09:34 ? 次閱讀

在項目開發過程中,開發者出于保護核心算法的目的,希望將部分核心代碼封裝起來,使得其他使用者無法查看具體的代碼實現細節,而不影響正常的調用。常見的思路是將核心的函數封裝成庫,下面將結合例程說明具體實現方法。

1.庫的建立

1)新建庫工程

在CCS中,選擇Project -》 New CCS Project,在工程配置窗口中,選擇相應的“Target” device,以及輸入自定義的工程名字;然后需要注意在“Project type and tool-chain -》 output type”中選擇“Static Library”,而不是“Executable”,“Executable”對應的是我們一般用到的可生成.out 可執行文件的工程。

圖 1 在CCS中新建庫工程

2)定義相關的庫函數

新建完工程后,即可將所需封裝的函數放入工程文件中,在此以簡單的一個功能函數為例進行說明。

圖 2 .C文件中添加目標庫函數

3)添加頭文件.h

先在工程目錄新建一個“include”文件夾,然后在該文件夾新建

圖 3 新建.h文件

在.h文件中進行庫函數的函數聲明。

圖 4 函數名聲明

至此,編譯該工程,即可生成所需的.lib文件,在默認的Debug文件路徑中。

圖 5 編譯生成對應的.lib文件

2.在工程項目中使用該庫文件

以C2000WARE中的“led_ex1_blink”例程為例,說明下如何在實際工程中使用定義的庫文件。

1)建立文件鏈接

首先將第一步生成的.lib文件以及.h文件所在文件夾一并拷貝至目標工程,由于具體的庫函數代碼實現體現在.c文件,因此最終的工程無法索引至原始的.c文件

圖 6 復制相應的.h和.lib文件

下一步需要在該工程中建立對庫文件的鏈接關系。首先在工程屬性 C2000 Compiler-》Include Option中添加.h文件所在的文件路徑,注意此處使用的是相對路徑,以確保工程路徑發生變更時的一致性。

圖 7 添加.h所在的文件路徑

然后,在C2000 Linker-》File Search Path中分別添加對應的.lib文件名以及所在文件路徑。

圖 8 添加.lib 文件名及路徑

2)添加函數頭文件及調用

在目標工程中添加.h文件的聲明,以及測試變量,并在主函數中進行調用。

圖 9 .h文件聲明以及調用示例

燒錄該工程到芯片,運行后驗證“test”結果符合預期。

此外,除了上述方法,可以采用以下方式把工程的調試功能禁止,這樣在debug模式下就無法進行任何的調試操作以及查看代碼,具體步驟:

選擇“option --symdebug:none”,即在工程屬性Build-》C2000 Complier-》Advanced Options-》Advanced Debug Options中選擇--symdebug:none作為Debugging model。

圖 10 使能option --symdebug:none

選擇一個例程,進行以上配置后,在調試模式下的效果如圖 11所示。在該模式下,所有symbols和工程的鏈接將被移除,因此無法進行任何的調試操作以及查看源代碼。建議在工程開發的最后階段再使用該模式。

圖 11 工程示例
責任編輯人:CC

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 封裝
    +關注

    關注

    128

    文章

    8580

    瀏覽量

    144954
  • 函數
    +關注

    關注

    3

    文章

    4372

    瀏覽量

    64365
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    靜態封裝成python模塊的方法

    很多硬件廠商的底層設備驅動都是以的形式提供給開發者,有的是動態,有的是靜態。開發上層應用,最快速便捷的方式當然還是用 python,對于動態,可以用 python 的 ctyp
    發表于 07-13 15:24 ?744次閱讀

    動態封裝成python模塊的方法

    之前的文章 靜態封裝成 python 模塊中講解了如何靜態封裝成 python 模塊,靜
    發表于 07-13 15:24 ?864次閱讀

    有沒有人知道怎么c#中的回調函數二次封裝成DLL,以便labview調用

    有沒有人知道怎么c#中的回調函數二次封裝成DLL,工labview調用
    發表于 03-18 20:42

    如何CCS3.3工程中.C文件封裝成OBJ文件

    如何CCS3.3工程中的.C文件封裝成OBJ文件
    發表于 11-02 09:41

    怎么把寄存器編程封裝成固件編程

    基于野火“霸道”和“指南”——零死角玩轉STM32入門&中級篇學習地址:課程簡介:本課程從STM32內存映射開始講起,告訴你什么是寄存器,怎么樣實現寄存器編程,然后怎么把寄存器編程封裝成固件
    發表于 08-03 06:47

    GPIO構件封裝方法與規范

    (給出函數名與接口函數),以供實際編程使用。 必要性1、利用軟件構件,編程開發效率且程序更規范;2、底層驅動封裝成構件,可提高...
    發表于 11-08 06:58

    STM32 Printf函數利用標準實現方法是什么?

    STM32 Printf函數利用標準實現方法是什么?
    發表于 12-02 06:13

    單片機數碼管顯示驅動封裝成一個函數

    單片機數碼管顯示驅動封裝成一個函數,方便需要用到的時候直接調用1、數碼管電路原理圖2、數碼管碼表3、位選IO管腳定義4、延時函數5、動態顯示一位數碼管6、動態顯示兩位數碼管7、動態顯
    發表于 01-24 06:21

    FPGA子函數封裝問題

    請問我想在quartus II里面把編好的子函數封裝成一個子文件,然后建立自己的調用,這個該怎么弄?導出網表文件(qxp)嗎?雖然能調用成功但是無法仿真實現功能
    發表于 07-27 19:56

    函數封裝成使用的方法

    作者:Aki Li在項目開發過程中,開發者出于保護核心算法的目的,希望部分核心代碼封裝起來,使得其他使用者無法查看具體的代碼實現細節,而不影響正常的調用。常見的思路是核心的
    發表于 11-07 08:05

    怎么封裝函數庫

    怎么封裝函數庫,只留一些回調函數和引腳定義,完整程序不讓人看
    發表于 11-08 08:12

    如何函數封裝成使用的方法介紹

    無法查看具體的代碼實現細節,而不影響正常的調用。常見的思路是核心的函數封裝成,下面結合例程
    的頭像 發表于 01-12 16:32 ?5688次閱讀
    如何<b class='flag-5'>將</b><b class='flag-5'>函數</b><b class='flag-5'>封裝成</b><b class='flag-5'>庫</b>使用的<b class='flag-5'>方法</b>介紹

    關于如何函數封裝成使用的方法介紹

    關于如何函數封裝成使用的方法介紹
    發表于 10-28 12:00 ?1次下載
    關于如何<b class='flag-5'>將</b><b class='flag-5'>函數</b><b class='flag-5'>封裝成</b><b class='flag-5'>庫</b>使用的<b class='flag-5'>方法</b>介紹

    關于如何函數封裝成使用的方法介紹

    在項目開發過程中,開發者出于保護核心算法的目的,希望部分核心代碼封裝起來,使得其他使用者無法查看具體的代碼實現細節,而不影響正常的調用。常見的思路是核心的
    的頭像 發表于 03-21 09:36 ?4598次閱讀
    關于如何<b class='flag-5'>將</b><b class='flag-5'>函數</b><b class='flag-5'>封裝成</b><b class='flag-5'>庫</b>使用的<b class='flag-5'>方法</b>介紹

    c語言max函數在哪個

    C語言的max函數并不屬于標準C,它通常是由程序員自己編寫的一個宏定義。max函數用于比較兩個數的大小,返回較大的數值。 為了提供更多詳實的信息,下面詳細介紹C語言中max
    的頭像 發表于 11-22 10:18 ?4317次閱讀
    主站蜘蛛池模板: 福利午夜 | 青草国产在线视频 | 末发育女一区二区三区 | 欧美性free| 狼人狠狠干 | 亚洲 成人 欧美 自拍 | 4hu四虎永久免在线视 | 欧美夜夜夜 | 国产精品第九页 | 五月婷婷基地 | 狠狠色丁香婷婷综合橹不卡 | 五月天婷婷色 | 国产综合视频 | 日韩有色| 天天插天天射天天操 | 免费看一级特黄a大片 | 特级全黄一级毛片免费 | 国产视频首页 | 欧美黄免在线播放 | 嫩草影院地址一地址二 | 国产yin乱大巴视频 国产爱v | 亚洲国产精品综合久久2007 | eeuss秋霞成人影院 | 黄色一级片毛片 | 黑人又大又粗又长又深受不了 | 国产精品国产三级国产普通话对白 | 黄色三级在线观看 | 国产成人综合网 | 天天干天天爽天天操 | 婷婷午夜 | 婷婷四房播客五月天 | bt天堂资源在线种子 | 伊人91在线| 日本aaaaa级毛片片 | 色批网站 | 色香蕉色香蕉在线视频 | 日本三级成人午夜视频网 | 国产高清免费视频 | 欧美一区二区高清 | 91拍拍在线观看 | 日韩1级片|