Codewarrior v5.x 如何向项目添加浮点数支持
有时候我们创建项目时为了节省内存,选择了不需要浮点数支持,但是写着写着发现需要进行浮点数计算,如果在不支持浮点数的工程中调用浮点数相关运算,就会发现浮点数相关函数找不到。这个时候怎么办呢?
最无脑也是最有效的方法就是按需求重新创建一个工程,然后把整个工程再重新配置一遍。但这工作量也是蛮大的。
通过对比二者创建的工程,我们发现工程有没浮点数支持的差别就是库文件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
然后就可以使用浮点数了。
我们可以看出随着对浮点数的支持越来越多,库文件也越来越大。因此,根据需要选择最小的支持就好。