久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

stm32教你如何編譯出LIB文件

作者:肖邦   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2014年03月08日   【字體:

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


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


那么,本技巧篇例程就是教大家怎么生成那個.LIB 的文件的.
首先打開本程序,大家看到的整個工程就只有庫文件:


因?yàn)檫@是把STM32的函數(shù)庫編譯成庫的形式,所以你只需要包含函數(shù)庫就行.
然后注意一點(diǎn),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" /* High level functions for NVIC and SysTick (add-on to CMSIS functions)
*/
這是因?yàn)楫?dāng)這堆C文件編譯成*.LIB后,里面的內(nèi)容將是恒定的,不能裁減的.(這是C語言的理
念,跟編譯器什么的無關(guān)),所以我們必須開放所有H 文件,這樣編譯出來的LIB 文件才是全能
的.這個理解,就和普通的DX32例程中包含一大堆C文件的意義是一樣的.只不過是我們先把
庫函數(shù)那部分預(yù)先編譯成LIB 文件.
然后,就是選擇編譯成LIB:


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


然后嘛,就是編譯,編譯完成后,LIST目錄上就有一個LIB.lib文件了,注意文件的后綴名固定為
lib 的.
到這里,一個LIB文件就弄出來了,試試拿一個普通的DX32工程,然后把所有的函數(shù)庫*.C文
件刪除(注意.H 文件不要刪除,因?yàn)槟阍诔绦蛑羞要用.H 文件上的很多宏定義,例如
GPIO_Pin_1 這些宏定義),之后再加進(jìn)這個LIB.lib,注意記得選擇正確的文件類型:
加進(jìn)去后,就可以像往常那樣編譯你的工程了.
到此,LIB的生成和應(yīng)用就完成了,其實(shí)白菜本人并不提倡試用LIB文件,雖然從編譯角度上說,
這個方式會使編譯速度快一點(diǎn),但有以下的缺點(diǎn)是不容忽略的:
1.為了通用,你必須把整個庫都編譯,這樣在程序中就不方便裁減,例如我不用SPI功能,以前
的方式就是在stm32f10x_conf.h 中屏蔽掉一些include,但這個LIB 方式卻不行.即使你在
工程中保留了stm32f10x_conf.h 文件,并修改它,但這對已經(jīng)編譯成LIB 的庫文件的大小
和內(nèi)容不產(chǎn)生影響
2.不方便觀察庫函數(shù),經(jīng)過預(yù)編譯的LIB 文件,里面的所有東西都不能以C 的形式看到了,
這樣對于學(xué)習(xí)來說,是有不少影響的.
當(dāng)然,LIB 的一個主要用途,就是用在工作上的,當(dāng)你某些C 文件不希望讓別人看到源代碼,但
又必須給別人使用的時候,把你這些機(jī)密的C 文件編譯成LIB 是一個最好的方式.在我認(rèn)為,
這個是LIB 唯一實(shí)在的用處呵呵~

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产福利在线 | 麻豆精品国产免费 | 亚洲在线一区 | 九九九久久国产免费 | 久久久久91 | 色资源av| 国产免费让你躁在线视频 | 亚洲一区二区三区免费 | 国产亚洲久 | 欧美日韩在线一区二区 | 久久久看 | 亚洲国产精品一区二区第一页 | 国产一级片精品 | 久久久国产精品 | 久久久夜夜夜 | 久久久一区二区三区 | 日韩三级电影在线看 | 99re视频在线观看 | 国产97色| 91青青草视频 | 免费视频一区二区 | 久久久99精品免费观看 | 亚洲第一成人av | а天堂中文最新一区二区三区 | 欧美专区在线 | 夜夜精品浪潮av一区二区三区 | 国产精品色综合 | 国产欧美日韩综合精品一区二区 | 日韩av在线一区 | 国产欧美精品一区二区 | 一区二区免费 | 91xx在线观看| 国产成人精品一区二区三区在线 | av在线播放一区二区 | 成人污污视频 | 91视频免费在观看 | 成人免费视频在线观看 | 精品欧美乱码久久久久久1区2区 | 盗摄精品av一区二区三区 | 亚洲国产欧美国产综合一区 | 国产精品久久久久久久久久久久久久 |