在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32之如何編譯出 .lib 文件

            STM32之如何編譯出 .lib 文件

            作者: 時間:2016-11-25 來源:網絡 收藏
            申明: .lib 文件的一個“惡心”應用,就是必須給別人自己的代碼應用,但是又不想直接給C源碼,這時候就可以把某些機密 .c 文件編譯成 .lib 文件給別人用。但是個人建議作為一個求學者,不要做這樣的“惡心”事情。當然還有其它的一些作用。

            本文引用地址:http://www.biyoush.com/article/201611/321349.htm

            這個是生成LIB的技巧.也許大家在網上看到某些程序會發(fā)現(xiàn),他們用這個方式來包含STM32
            的庫文件:


            而不是像DX32的例程那樣一堆C:


            那么,本技巧篇例程就是教大家怎么生成那個.LIB 的文件的.


            首先打開本程序,大家看到的整個工程就只有庫文件:


            因為這是把STM32的函數(shù)庫編譯成庫的形式,所以你只需要包含函數(shù)庫就行.
            然后注意一點,stm32f10x_conf.h 文件中,所有的include都要開放
            #include "stm32f10x_adc.h"
            #include "stm32f10x_bkp.h"
            #include "stm32f10x_can.h"
            #include "stm32f10x_crc.h"
            #include "stm32f10x_dac.h"
            #include "stm32f10x_dbgmcu.h"
            #include "stm32f10x_dma.h"
            #include "stm32f10x_exti.h"
            #include "stm32f10x_flash.h"
            #include "stm32f10x_fsmc.h"
            #include "stm32f10x_gpio.h"
            #include "stm32f10x_i2c.h"
            #include "stm32f10x_iwdg.h"
            #include "stm32f10x_pwr.h"
            #include "stm32f10x_rcc.h"
            #include "stm32f10x_rtc.h"
            #include "stm32f10x_sdio.h"
            #include "stm32f10x_spi.h"
            #include "stm32f10x_tim.h"
            #include "stm32f10x_usart.h"
            #include "stm32f10x_wwdg.h"
            #include "misc.h"
            這是因為當這堆C文件編譯成*.LIB后,里面的內容將是恒定的,不能裁減的.(這是C語言的理
            念,跟編譯器什么的無關),所以我們必須開放所有H 文件,這樣編譯出來的LIB 文件才是全能
            的.這個理解,就和普通的DX32例程中包含一大堆C文件的意義是一樣的.只不過是我們先把
            庫函數(shù)那部分預先編譯成LIB 文件.
            然后,就是選擇編譯成LIB:


            編譯后的庫文件的名字是可定義的,這里隨便改個名字叫LIB.


            然后嘛,就是編譯,編譯完成后,LIST目錄上就有一個LIB.lib文件了,注意文件的后綴名固定為
            lib 的.
            到這里,一個LIB文件就弄出來了,試試拿一個普通的DX32工程,然后把所有的函數(shù)庫*.C文
            件刪除(注意.H 文件不要刪除,因為你在程序中還要用.H 文件上的很多宏定義,例如
            GPIO_Pin_1 這些宏定義),之后再加進這個LIB.lib,注意記得選擇正確的文件類型:
            加進去后,就可以像往常那樣編譯你的工程了.
            到此,LIB的生成和應用就完成了。

            但有以下的缺點是不容忽略的:
            1.為了通用,你必須把整個庫都編譯,這樣在程序中就不方便裁減,例如我不用SPI功能,以前
            的方式就是在stm32f10x_conf.h 中屏蔽掉一些include,但這個LIB 方式卻不行.即使你在
            工程中保留了stm32f10x_conf.h 文件,并修改它,但這對已經編譯成LIB 的庫文件的大小
            和內容不產生影響
            2.不方便觀察庫函數(shù),經過預編譯的LIB 文件,里面的所有東西都不能以C 的形式看到了,
            這樣對于學習來說,是有不少影響的.

            3.(本人所注)可以把自己的某些機密.c文件一起編譯成.lib文件,這樣可以保密自己的C源文件。(再次申明,作為求學大軍中的一員,別這樣做,相互學習,才能進步更快?。?/p>




            關鍵詞: STM32lib文

            評論


            技術專區(qū)

            關閉