有時候我們創建項目時爲了節省內存,選擇了不需要浮點數支持,但是寫着寫着發現需要進行浮點數計算,如果在不支持浮點數的工程中調用浮點數相關運算,就會發現浮點數相關函數找不到。這個時候怎麼辦呢?
最無腦也是最有效的方法就是按需求重新創建一個工程,然後把整個工程再重新配置一遍。但這工作量也是蠻大的。
通過對比二者創建的工程,我們發現工程有沒浮點數支持的差別就是庫文件xxxxxx.lib不同,以及編譯器選項中有一些差別,所以可以直接對原工程進行修改來添加浮點數支持。
浮點數支持有兩種:一種只支持32位的;另一種float爲32位,double爲64位。
具體來說:
如果要將工程改成全32位浮點數的,需要把原先的工程中的ansixbi.lib庫文件
改成ansixb.lib
這些庫文件的位置都在 “(安裝路徑)\Freescale\CWS12v5.1\lib\hc12c\lib”。
然後,打開 Edit->Standard Settings->Compiler for HC12 刪除 -D__NO_FLOAT__
這樣就實現了對32位浮點數的支持。
如果還要實現對64位浮點數的支持,那就得把庫文件改爲ansixbf.lib
然後除了刪除-D__NO_FLOAT__外,還得在編譯器選項中加入-Cf
然後就可以使用浮點數了。
我們可以看出隨着對浮點數的支持越來越多,庫文件也越來越大。因此,根據需要選擇最小的支持就好。