打造windows下的嵌入式开发工具(3):gmp-4.2.3
来源:互联网 发布:淘宝买到二手货怎么办 编辑:程序博客网 时间:2024/05/17 07:30
快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI Blackfin系列DSP
gcc-
binutils-2.18
codeblocks-8.02
Skyeye-
bfin-uclinux-2008r1-rc8
Cygwin gcc
Visual studio 2005
Visual DSP++ 5.0
欢迎转载,但请保留作者信息
gmplib是一个用于大数运算的库,在gcc-
在使用这个工程文件之前必须先做一个转换,这样vs2005才能识别。
按照Gladman提供的readme.txt中的说法,将.vcproj工程文件中的
Version="9.00"
替换为
Version="8.00"
然后将.sln文件中的
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
改为:
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
这样就可以直接在vs2005下打开gmp.sln这个工程了。
在编译之前还有一件事要做。在Gladman提供的压缩包里有一个longlong.h的文件,这个文件中有这样一段代码:
#ifdef _MSC_VER
# include <intrin.h>
# if defined( _WIN64 )
# define count_leading_zeros(c,x) /
do { /
ASSERT ((x) != 0); /
_BitScanReverse64(&c, (x)); /
c = 63 - c; /
} while (0)
# define count_trailing_zeros(c,x) /
do { /
ASSERT ((x) != 0); /
_BitScanForward64(&c, (x)); /
} while (0)
# define umul_ppmm(xh, xl, m0, m1) /
do { /
xl = _umul128( (m0), (m1), &xh); /
} while (0)
# else
# define count_leading_zeros(c,x) /
do { /
ASSERT ((x) != 0); /
_BitScanReverse(&c, (x)); /
c = 31 - c; /
} while (0)
# define count_trailing_zeros(c,x) /
do { /
ASSERT ((x) != 0); /
_BitScanForward(&c, (x)); /
} while (0)
# define umul_ppmm(xh, xl, m0, m1) /
do { unsigned __int64 _t; /
_t = __emulu( (m0), (m1)); /
xl = _t & 0xffffffff; /
xh = _t >> 32; /
} while (0)
# endif
#endif
这一段代码在vs2005下编译的时候将引起__emulu,_BitScanForward函数的链接错误。按照Gladman的建议,这一段代码可以直接删除,但是实际上直接在这段代码的前面加上
#pragma intrinsic(_BitScanReverse)
#pragma intrinsic(_BitScanForward)
#pragma intrinsic(__emul)
#pragma intrinsic(__emulu)
也可以解决这个问题。引发这个问题的原因可以查msdn中的相关函数说明。
经过这两个修改后,直接在vs2005下build,将在gmp-
参考资料
host-i686-pc-cygwin/libiberty/Makefile解析(
host-i686-pc-cygwin/fixincludes/Makefile分析(
host-i686-pc-cygwin/zlib/Makefile分析(
host-i686-pc-cygwin/libcpp/Makefile分析(
host-i686-pc-cygwin/libdecnumber/Makefile分析(
bfin-xxx-gcc中cc1plus.exe的生成(
bfin-xxx-gcc中fortran目标的生成(
bfin-xxx-gcc中java目标的生成(
bfin-xxx-gcc中objc目标的生成(
bfin-xxx-gcc中collect2目标的生成(
打造windows下的嵌入式开发工具(1):目标(
打造windows下的嵌入式开发工具(2):binutils-2.18(
- 打造windows下的嵌入式开发工具(3):gmp-4.2.3
- 打造windows下的嵌入式开发工具(1):目标
- 打造windows下的嵌入式开发工具(2):binutils-2.18
- 打造windows下的嵌入式开发工具(7):codeblocks-8.02
- 打造windows下的嵌入式开发工具(4):mpfr-2.3.1
- 打造windows下的嵌入式开发工具(5):gcc-4.3.1
- 打造windows下的嵌入式开发工具(6):wxWidgets-2.8.8
- 打造windows下的嵌入式开发工具(8):让codeblocks调用bfin交叉编译
- windows 下的嵌入式开发
- windows下 VIM安装配置,打造PHP IDE开发工具
- gmp 5.0.1 windows 下编译使用
- 打造windows平台下的PHP开发环境
- 打造windows下的shellcode
- 在windows下安装使用GMP(好吧,我承认我闲的蛋疼)
- Windows 下很有用的开发工具
- Windows 2000下的开发工具
- ubuntn 和 windows xp下的嵌入式开发
- 工欲善其事必先利其器-简单几步打造顺手的python开发工具(windows,Linux多版本)
- lucene.net,包括对htm,word,doc,pdf,等等式进行parse解析,取得内容
- 对经太空搭载的“神舟三号口服液”口服液的生产菌株进行了科学鉴定.^&
- error LNK2001: unresolved external symbol __imp__
- [转]offsetParent和parentElement的区别
- hibernate3学习笔记(十七)|关系映射:多对一
- 打造windows下的嵌入式开发工具(3):gmp-4.2.3
- Servlet2.3规范
- 读取操作PDF的Java类库
- 百度新闻搜索参数精解
- IIS运行ASP程序出现Server Application Error的解决办法
- Tools:使用oradim恢复windows上的数据库
- 关于Weblogic GBK/GB2312/UTF-8乱码的问题
- mssql命令行下工具isql参数说明
- windows证书的导出