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

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

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

3天內不再提示

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

星星科技指導員 ? 來源:TI ? 作者:Aki Li ? 2023-03-21 09:36 ? 次閱讀

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

1.庫的建立

1).新建庫工程

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

poYBAGQZCgyATiHFAAFC0LPIhVY411.png

圖 1 在CCS中新建庫工程

2).定義相關的庫函數

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

pYYBAGQZCg2AeuVzAACadZE-Mgg653.png

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

3).添加頭文件.h

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

poYBAGQZCg2ANFY-AABd7ZWffVY249.png

pYYBAGQZCg6AG9lzAABbY7V_t4M154.png

圖 3 新建.h文件

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

poYBAGQZCg6AE8njAADyvAC61k4130.png

圖 4 函數名聲明

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

pYYBAGQZCg6AEHfkAADJIDOqYGM680.png

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

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

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

1)建立文件鏈接

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

poYBAGQZCg-ADZH6AAEmvmhS95w075.png

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

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

pYYBAGQZCg-AbUgWAAFBgtoPfms287.png

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

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

poYBAGQZChCAJvgSAAEkPe0xnx4443.png

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

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

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

pYYBAGQZChCAOOBWAAC2iXNo4x4491.png

pYYBAGQZChGAKTO_AAA2Rvdn-so611.png

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

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

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

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

poYBAGQZChGAYIivAADnJ33tSNA435.png

圖 10 使能option --symdebug:none

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

pYYBAGQZChKAExX3AACslpkdyco932.jpg

圖 11 工程示例

審核編輯:郭婷

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

    關注

    126

    文章

    7873

    瀏覽量

    142894
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68525
收藏 人收藏

    評論

    相關推薦

    動態封裝成python模塊的方法

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

    在hightec中如何將源代封裝,并編譯鏈接成.a的庫函數

    在hightec中如何將源代封裝,并編譯鏈接成.a的庫函數
    發表于 02-18 08:10

    如何將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固件介紹及庫函數模板創建相關資料分享

    為了方便移植和開發,減少很多不必要的麻煩,ST公司很多函數封裝成固件一、CMSIS標準介紹CMSIS標準的英文全稱是Cortex Mic
    發表于 11-30 07:25

    如何將c中的printf函數重定向到串口中去呢

    如何將c中的printf函數重定向到串口中去呢?有哪位大神可以解答一下嗎
    發表于 12-01 08:07

    如何將常用接口封裝成類似于NCNN的接口調用形式?

    如何將常用接口封裝成類似于NCNN的接口調用形式?
    發表于 03-10 07:08

    函數封裝成使用的方法

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

    如何將AD轉換導入到PADS中使用

    想學習pads,學會如何將AD轉換導入到PADS中使用,方便自己
    發表于 12-11 16:46 ?0次下載

    如何將完成特定任務的程序代碼封裝成函數

    到目前為止,為了完成任務,我們共調用了三個系統預定義的函數:printf()、scanf()和sqrt()。通過調用特定函數來完成特定功能的方便程度不言自明。那么,我們自己能不能也完成特定功能的代碼寫成
    發表于 03-25 08:00 ?18次下載
    <b class='flag-5'>如何將</b>完成特定任務的程序代碼<b class='flag-5'>封裝成</b><b class='flag-5'>函數</b>

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

    在項目開發過程中,開發者出于保護核心算法的目的,希望部分核心代碼封裝起來,使得其他使用者無法查看具體的代碼實現細節,而不影響正常的調用。常見的思路是核心的函數
    的頭像 發表于 12-19 09:34 ?5456次閱讀

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

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

    如何將包含XIlinx IP的用戶模塊封裝成網表文件

    那么如何將包含XIlinx IP的用戶模塊封裝成網表文件,下面將給出詳細步驟
    的頭像 發表于 05-18 11:12 ?1511次閱讀
    <b class='flag-5'>如何將</b>包含XIlinx IP的用戶模塊<b class='flag-5'>封裝成</b>網表文件
    主站蜘蛛池模板: 99视频全部看免费观| 91素人约啪| 国产精品爽爽久久久久久无码 | 加勒比一本之道高清视频在线观看| 末班车动漫无删减免费| 2021精品高清卡1卡2卡3麻豆| 快播电影频道| 99视频精品全部免费观看| 欧美熟妇互舔20p| 动漫女主被扒开双腿羞辱| 日韩欧美中文字幕一区| 粉嫩自拍 偷拍 亚洲| 性欧美13处14处破| 久久伊人中文字幕有码| 亚洲AV久久无码精品热九九| 精品三级在线观看| 99热久久这里只有精品视频| 日本无翼恶漫画大全优优漫画| 国产成人h在线视频| 亚洲精品乱码一区二区三区| 久久99热狠狠色AV蜜臀| 99福利视频| 无限好资源免费观看| 久久免费视频| 欧美一区二区激情视频| yy4408午夜场理论片| 午夜福利08550| 免费观看国产视频| 国产精品一区二区制服丝袜| 18禁裸乳无遮挡免费网站| 污污又黄又爽免费的网站| 免费无码国产欧美久久18| 国产麻豆剧看黄在线观看 | 美女国产毛片A区内射| 国产精品毛片在线视频| 真人美女精美小穴| 日欧一片内射VA在线影院| 蜜桃99影院| 精品无码久久久久久国产百度| bbw美女与zooxx| 尹人综合网|