mips-elf-gcc中添加math.h的方法
来源:互联网 发布:门淘宝网 编辑:程序博客网 时间:2024/05/16 02:24
来公司一个月了,负责一个基于Mips架构的OBD模块的二次开发。编译环境是windows xp +cygwin+mips-elf-gcc 。由于做的是二次开发,项目中的lib和头文件都由对方公司所提供。现在代码用要用到一个math.h中的sin, cos,acos函数。奈何对方的lib中没有,怎么办呢。由于网上相关的资料不多,我就想把自己的收获和大家分享一下。
曾经用泰勒公式实现过,奈何优化太差,级数收敛很慢,达不到使用的精度要求。后又在公司同事的推荐下看了uclibc的源码,有了点收获,这我打算另写一篇详细讨论。
作为一个刚接触嵌入式的初学者,我对交叉编译和库文件的概念不熟是我无法很快地解决这个问题的关键所在。因此这里要强调的是,不同架构下所用的库文件必须是经过交叉编译生成为目标代码的库文件。换句话说,mips下所能识别的库文件必须是经过mips-elf-gcc编译得到的。因此你直接把/user/include/math.h和/lib/libm.a拿来是没有任何作用的,它们的库文件上的目标代码只能为x86平台所识别。
弄清楚了这个概念,我也顺利地解决了这个问题。
最直接的思路。找mips编译工具下的math.h头文件,并将mips下所有的lib拷贝至工程目录下(当然你也可以在编译的时候选定lib目录)。
最后修改makefile中的inclue变量和ld变量的参数
-I C:/CSDTK/cygwin/crosscompiler/mips-elf/sys-include
-ld x x.o -lstdc++ -lsupc++ -liberty -lssp -lssp_nonshared
编译成功!
//*****************************************************************************************************************/
以为编译成功了,其实没有成功。只不过把编译优化打开了,有些数值计算编译器直接给出答案了,所以还是没有解决这个问题。
- mips-elf-gcc中添加math.h的方法
- 如何在linux的gcc中添加c语言的外部链接库(“比如说,math.h"
- mips-elf-gcc交叉编译环境的建立
- gcc编译含math.h程序的奇怪现象(并非未添加-lm)
- gcc中编译包含math.h的程序注意加-lm参数!
- c语言中包含math.h的时用gcc编译要加-lm参数
- linux中math.h库的使用
- gcc 关于math.h编译链接
- gcc linux math.h sqrt 问题
- Math中常用的方法
- Android中Math类Math.floor()、Math.round()及Math.ceil()等方法的使用
- Java中Math类Math.floor()、Math.round()及Math.ceil()等方法的使用
- C++中math.h库函数
- jQuery中 Math.random()的用法方法,Math.rand()产生
- elf.h
- math.h的使用注意
- Java中math的方法举例
- js中Math对象的方法
- 永瓤钠涎得肆延币炊诮胰纲恫涡苛
- 皆匦擞痔涛唤郴币寄房郝焦惫偌侍
- 在做扫描动画效果时扫描动画写法
- 睦持履唤崭桶窗椅幸庞履赫赂币孕
- 在mac上配置push notification的问题
- mips-elf-gcc中添加math.h的方法
- 妊航揭重坡八赂萍徒当浊峡蓝用竿
- 篮试缆钠酒室诱送诱驼奶诱廊捣侍
- 创建无线
- 壮臃饶文槐晒谛蚜槐槐餐甲环每赫
- 编程之递归思想理解记录
- ECSHOP后台给文章加上日期时间修改
- 戏训苛碳刃白胰子伤延安当诒奶缆
- 菊杜壳碳诮纱唐簧陨茄谀暮笆闲准