VC++ .NET 2003 –安装和使用Boost 1.30和Blitz++0.6

简介: 接下来,还有接下来了吗?回头看看我们的已经走了很远了,但愿你用同样的步伐在和我一起前进,最后我们来一起看一下 Biltz++ 吧,我已经没有力气在畅情漪动的介绍有关 Biltz 的有关故事和历史了。必须承认这些类库都是老字号的招牌类库,是 C++ 社团的辉煌、是激情创造力的溢出,就这些足以让 .

“C++ increasingly means Visual C++”        - Scott Meyers

 

< 文章的长度把握不是太好,被 CSDN 的系统裁减,所以接着再来 >

 

 

接下来,我们需要编写一些小的应用测试一下,简单一点的 lexical_case 

取自 http://www.emaki.minidns.net/Programming/tools/Boost/ 的例子

使用下面的命令方式。

D:\boost2> cl /GX /MT /GR /EHsc lCase.cpp

 

 

复杂一点的多线程应用使用下面的命令方式:

thread.cpp 取自 C:\boost_1_30_0\libs\thread\example\ thread.cpp

D: \Boost2>cl  /GX /MT /EHsc thread.cpp /link  C:\boost_1_30_0\lib

s\thread\build\bin\boost_thread.dll\vc7\debug\runtime-link-static\threading-mult

i\boost_threadd.lib

 

你可以在这里 download 上述的 Sample (109K) ,当然在测试的过程中也有上面我说的 VC7.1 无法编译过去的问题:

比如取自 http://www.emaki.minidns.net/Programming/tools/Boost/  format 例子

还有一些例子是无法编译或是有让人难以理解的警告。

具体记录在下面的两个页面中,你可以具体查看一下,不仅 VC7, 甚至还有更多的其他 C++ 编译器的情况。

 

 

http://boost.sourceforge.net/regression-logs/cs-vc71beta-links.html

http://boost.sourceforge.net/regression-logs/cs-vc71beta-Version_1_30_0.html

http://boost.sourceforge.net/regression-logs/

 

接下来,还有接下来了吗?回头看看我们的已经走了很远了,但愿你用同样的步伐在和我一起前进,最后我们来一起看一下 Biltz++ 吧,我已经没有力气在畅情漪动的介绍有关 Biltz 的有关故事和历史了。必须承认这些类库都是老字号的招牌类库,是 C++ 社团的辉煌、是激情创造力的溢出,就这些足以让 .NET 学一阵跟一程了 .NET 加油!

 

Download :最新版本 0.6 blitz-0.6.tar.gz  (996K)

http://oonumerics.org/blitz/download/

http://sourceforge.net/project/showfiles.php?group_id=63961

看到 http://oonumerics.org/blitz/platforms/ 上的描述差点昏倒, Visual C++ 排在了 Unsupported platforms 之中,甚至连第二等的 Plausible (but not actively supported) platforms 都排不上,这意味着什么,也就是你解压 Blitz-06.tar.gz 之后,根本不会在其中找到有关 Visual C++ 的编译文件和任何有关的信息。

 

这就是 ISO/ANSI C++ 的厉害了,对于我这样一个慕名而来,之前从未使用过任何其它版本的 Blitz++  Visual Studio.NET 用户来说,这有些困难了,所以这时候讲 VC++.NET 强大优秀,一点用都没有,我们需要的是资源是信息,而不是手上拿着史前最强大的编译器。还好有网络,还好有 Google  Google 的伟大之处在于它能给你无比自信的不知所措寻找一个释放的临界,将你所有可能和不可能的期许化成无数个上一页和下一页,不要管它有多少,重要的是你相信你在点击某一个链接之后找到你所需要的 我想你也找得到,因为全世界所有讨论的 BlitZ++ 的人都在这里 http://www.oonumerics.org/MailArchives/blitz-support/ ,除去不是对 Windows 平台感兴趣的,真正讨论的不会有超过 20 人,你需要找到一个叫 Julian C. Cummings的人。

直接讲我的步骤吧,互联网上的故事先放在一边吧 J

 

用法:首先去 download Blitz-VS.NET2003.zip (1.1M)

       解压这个文件到根目录,并且我假设你的 Blitz++ Library 是安装在 C:\Blitz_0_6

 

如果 Blitz++ 安装目录不是 C:\Blitz_0_6 你需要手工的调整,设置 VC.NET 项目文件中的 Additional Include Directories 为你的 Blitz++ 安装目录 (cl  /I 参数 ) ,之后 Remove C++ 源文件中 globals.cpp ,重新加入你安装目录 \src 目录中的这个文件,然后编译 Solution. 另外如果你的机器象我之前一样安装了 STLPort 请在 VS.NET 中调整它的 INCLUDE 顺序,将其放在默认的 STL 库后面。象下面这样,如果编译成功会在 \Blitz-VS.NET\Blitz-Library\blitz\Debug\ 目录下产生一个 blitz.lib 

 

 

这个库文件也包括你 Download  1.1M Zip 文件里,这样你可以不自己编译也能使用 Blitz++ Library.

 

 

完成这一部分之后,可以开始使用或测试一下, Blitz++ 提供了一个 Test Suite 专门测试其功能和编译器的情况,在 C:\Blitz-VS.NET\Blitz-Testsuite\ 下面有一个 Blitz-Testsuite.sln,打开这个 Solution 里面有 45  VC Project ,专门用来运行 C:\Blitz_0_6\testsuite 中的 .cpp ,你可以逐个编译和运行一下,网上说其中有 4 个有问题,而我运行完好像只发现一个。由于编译后的文件太大,所以 Download  Zip 文件中只带了两个,一个是 Include 使用 Blitz++ 的例子,一个是需要使用到我们编译的 blitz.lib 的例子。总的来说,效果非常的不错。

 

 

后记:

       我只能从数据上 (81%-87%-98%) 知道以前的 VC++ 的性能和情况,特别是有关 ISO C++ 标准的状况,从我的经历看来, Visual C++.NET 2003 兼容程度非常的高,而且速度也非常的快,编译完成整个四个类库和上网寻找资料,我总共花了两天时间(算起来和我写并且发布这两篇文章的时间差不多),两天期间我还抽空也编译了 PETE  MTL  POOMA 这样小一点不太有名的类库,发现在 Visual C++.NET 2003 都可以编译和使用。

 

事实上,目前很难找到,在一个平台,不用安装什么其他的库(编译所有的类库我没有安装什么 Java Runtime  Perl  Cyg-Win32 等等),第三方软件而编译和使用这么多顶尖类库的编译器。另外我们还没有考察 Visual C++.NET  .NET Framework 的支持部分,所以前面我对它用了“史前最强大的编译器”,豪华而且也很方便,我想如果今天 Visual C++.NET 是一个 25岁的有志青年,我想也许他的下一目标应该是 Unix  Linux 平台。 ( 什么那就是 Visual C++.NET 2004?  --New features for the UNIX and Linux developer and Most ANSI/ISO conformant C++.  Strong support for standard C++ in managed code  啊,忘记忘记 不管怎样,你看得出我非常的喜欢这款 C++ 编译器,况且它还和其它的 .NET 语言C#,VB.NET 在一起,即来之则用之,有时你是不得不用,有时你是因为喜欢所以用它 J

 

好了,最后附上一些 STL 的链接和资源,也许你会奇怪,为什么会加这个在这里?在第一篇的文章中我曾讲过写这个文章的原因,其实有一个很私人的原因,没有讲到,事情的最初是我想收集一些 STL 的资料,我和我的客户都需要,不知道他们拿它作什么,而我是准备巩固和更深的学习一下 STL ,更全面的掌握一些概念和应用,你知道 2004  VS.NET 中的 .NET Framework 会带有模板和泛类编程,我说过我是一个 .NET  。世界上的事情就是这么奇妙,一个简单的念头最后演化成了用 Visual C++.NET 编译 C++ 社团的四大名库。如果没有什么冒犯和轻率之举,我想整个的过程是一次非常有趣和快乐的体验。祝你编程快乐,五一快乐。

目录
相关文章
|
9天前
|
编译器 开发工具 C++
Dev-C++详细安装教程及中文设置(附带安装包链接)
Dev-C++详细安装教程及中文设置(附带安装包链接)
29 0
|
17天前
|
开发框架 Linux C语言
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
29 1
|
25天前
|
JSON 程序员 数据格式
深入探索 “JSON for Modern C++“:安装、构建与应用
深入探索 “JSON for Modern C++“:安装、构建与应用
35 0
|
3月前
|
IDE 编译器 开发工具
Dev C++安装与运行
Dev C++安装与运行
|
3月前
|
程序员 编译器 C语言
最新Dev-C++下载安装以及C语言环境搭建教程(含C语言入门教程)
最新Dev-C++下载安装以及C语言环境搭建教程(含C语言入门教程)
201 0
|
11天前
|
C语言 C++
c++开发环境搭建、visual studio安装
c++开发环境搭建、visual studio安装
|
30天前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
193 0
|
1月前
|
算法 测试技术 计算机视觉
Opencv(C++)系列学习---opencv_contrib安装
Opencv(C++)系列学习---opencv_contrib安装
|
1月前
|
Windows
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
|
2月前
|
安全 C# 开发者
.NET开源的一键自动化下载、安装、激活Microsoft Office利器
.NET开源的一键自动化下载、安装、激活Microsoft Office利器