linux内核浮点的问题
我在编程中使用了浮点,为了计算一个比率,这个数字是连个很大并且很相近的数字相除得到的,所以结果很接近1,所以需要用浮点来或得精确结果。我想过用long来代替,但结果溢出。
只要我使用long long 或者float\double编译时提示warning:
WARNING: "__divsf3" [/root/avb/avb_as_zb/avb_as.ko] undefined!
WARNING: "__floatsisf" [/root/avb/avb_as_zb/avb_as.ko] undefined!
虽然warning算编译通过,但是在插入insmod的时候提示
insmod: error inserting 'avb_as.ko': -1 Unknown symbol in module
无法插入运行!请问这个问题应该如何解决?
楼主,这个时候建议用大数库就可以了。
介绍你一个:gmp大数库,很好用,比较小,还是C++接口。
就是说你要的两个函数在你的平台上面没有定义(某些平台会有),你要做这种操作的话,要自己写代码。
楼上两位不要说得那么抽象,能具体点说说么,我C语言不好,内核编程也是新手。
很好的
不建议在内核中使用浮点,否则需要自己实现浮点处理器访问。这个在linux内核设计与实现一书中有说明!
不要使用浮点,或使用软浮点来编译内核,可能要自行编译gcc
__divsf3
__floatsisf
查查看这两个函数是不是有什么宏定义了。
在内核中能用浮点数?期待高手。。。
最后用long long代替了,精度不太够,算凑合解决了吧……
相关问答:
C/C++ code:
char Time="2009-9-23";
FILE *fpOut=fopen("1.txt","w+");
if(fpOut==NULL)
return ;
fwr ......
需要在linux下用中断方式来写一个串口的程序,现在没有思路,网上有人说用select,signal,tasklet函数的,但是我没看懂,希望有做过的给一下例程,多谢!
就是能够当串口数据来临时自动通知串口读取数据,类似于中 ......
在linux下,怎样编译OCI的程序?它的gcc指令是什么?我从网上找的都不能用!还有,我在linux用C与oracle连接,我都需要安装oralce的哪些软件?只需要oralce的客户端,与OCI的库么?别的还需要么?
请高手指教!
......
Linux新手,请大哥大姐不要见笑。
我用root用户登录到Linux系统。在根目录下面建了目录dir1,后用命令cd /dir1进入到dir1目录下,然后再用mkdir dir2建立了目录dir2 ,再后来用命令cd /dir2是,提示为:-bush ......