posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

posted @ 2011-10-26 22:06 RTY 阅读(321) | 评论 (0)编辑 收藏

Necessitas是一个 用于Android平台的qt开发的实现。众所周知,Qt是诺基亚所有(最初由奇趣科技创建后由诺基亚收购)的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。qt目前已经支持windows、linux、mac os x等平台,并且在智能手机操作系统领域,支持Windows Mobile,Symbian,Meego平台。然而,目前android平台已经成为智能手机领域举足轻重的平台,而android目前只支持java开发,可惜的是,对C++开发的支持十分有限并残缺的。

java开发的应用程序,由于运行在虚拟机上,采用同样的算法,与原生的C++代码相比,存在着一定的性能损失。后来谷歌公司意识到这一点,允许使用C++语言开发类库并被java程序调用,但并不能创建完整的GUI程序。因此,便有了将qt与android相结合的necessitas项目。

posted @ 2011-10-24 20:44 RTY 阅读(599) | 评论 (0)编辑 收藏

UGENE - Integrated Bioinformatics Tools



 
UGENE home page

   News

September 20, 2011

UGENE 1.9.7 is released

August 23, 2011

UGENE 1.9.6 is released

July 27, 2011

UGENE at the BOSC-2011

July 25, 2011

UGENE 1.9.5 and changes in the release cycle

July 12, 2011

UGENE 1.9.4 is released

July 6, 2011

UGENE on the Illumina iDEA 2011 Conference

June 3, 2011

Workshop on UGENE was held in Novisibirsk State University

May 23, 2011

UGENE 1.9.3 is released

April 7, 2011

UGENE wins award in a contest devoted to GPU computations

March 24, 2011

UGENE 1.9.2 is released

March 15, 2011

UGENE bug-tracker is open for public

February 7, 2011

UGENE 1.9.1 is released

December 25, 2010

Development snapshots are available

December 21, 2010

UGENE wins the Best Open Source Project contest

December 17, 2010

What's new in UGENE 1.9 video

December 15, 2010

UGENE 1.9.0 is released

November 3, 2010

UGENE wins award at contest held by Intel and Rusnano

Unipro UGENE: Integrated Bioinformatics Tools

UGENE is a free cross-platform genome analysis suite. 
It works perfectly on Windows, Mac OS or Linux and requires only a few clicks to install.

Features

Integrated tools
  • Multiple sequence alignment using MUSCLE 3, KAlign, Clustal;
  • HMM profiles build and search, based on the source of HMMER 2 and HMMER 3;
  • PCR Primers design using Primer 3;
  • Cloning in silico capabilities;
  • Queries to NCBI BLAST and CDD databases;
  • Protein secondary structure prediction using GOR IV and PSIPRED;
  • Phylogenetic analysis with Phylip;
  • Search for restriction enzymes and integration with REBASE;
  • Extremely fast repeat finder;
  • DNA short reads to reference alignment using Bowtie;
  • De novo assembly with CAP3;
  • Search for transcription factor binding sites using SITECON;
  • Protein back translation;
  • ORF finder;
  • Complete Smith-Waterman algorithm implementation;
  • Support for external tools: BLAST+, MAFFT, T-Coffee;
  • Assembly Browser — a shiny BAM viewer.

User interface
  • Visual and interactive genome browsing including circular plasmid view;
  • Multiple alignment editor;
  • Chromatograms visualization;
  • 3D viewer for files in PDB and MMDB formats with anaglyph stereo mode support;
  • Phylogenetic tree viewer;
  • Dot plot visualization;
  • Query designer enables search for complex annotation patterns;
  • Easy to use workflow designer for custom computational workflows.

High performance computing in UGENE
  • Complete support of modern multicore processors and SSE instructions;
  • Out of the box support of modern GPUs using NVIDIA CUDA and ATI Stream;
  • Support for cloud computing: running computational tasks on Amazon EC2 cloud;
  • Support for supercomputers and distributed computing.

Cooperation
  • Can be used for education purposes in schools and universities;
  • Features to be included into the next release are initiated by users;
  • UGENE team is ready for collaboration in related projects, both free or commercial.

Availability

Unipro UGENE is a free software distributed under the terms of GNU General Public License.

Prebuilt version for set of operating systems can be foundhere.

Contact us to learn more about alternative licensing terms.

posted @ 2011-10-21 07:55 RTY 阅读(832) | 评论 (0)编辑 收藏

http://developer.qt.nokia.com/wiki/Category:Developing_with_Qt

posted @ 2011-10-08 22:34 RTY 阅读(314) | 评论 (0)编辑 收藏

Google JS Test是一个运行于V8 JavaScript引擎下的JavaScript单元测试框架,其在Google内部负责对Chrome的快速JS执行速度进行测试,现在Google以开源工程开放给大家使用。

AD:

Google JS Test是一个运行于V8 JavaScript引擎下的JavaScript单元测试框架,其在Google内部负责对Chrome的快速JS执行速度进行测试,现在Google以开源工程开放给大家使用。

Google JS Test主要特性:

◆ 超快的启动速度和执行时间,不需要在浏览器里运行

◆ 清爽而具有可读性的输出内容

◆ 也有一个可选的基于浏览器的测试器,可在JS修改的时候刷新

◆ 其样式和语义跟Google Test for C++类似

◆ 内置的Mocking框架只需要最简单的样板代码(比如no $tearDown or $verifyAll 请求),其样式和语义基于Google C++ Mocking Framework

◆ 匹配系统允许表达式测试,并可直观的阅读输出的错误提示,内置了很多匹配器,用户也可自行添加

原文:http://www.guao.hk/posts/google-js-test.html

posted @ 2011-10-08 22:04 RTY 阅读(400) | 评论 (0)编辑 收藏

RedCrab Calculator 是由德国人开发的科学计算器。它除了命令行功能,还带有一个图形化的全屏公式编辑器,只需用鼠标绘制几何图形、微积分、电路图等等,它就会自动计算出结果。甚至还可以显示分步求解过程,可以提高广大同学们的工作效率。



http://www.redchillicrab.com/en/redcrab/index.html


RedCrab Version 3.50.31

.




RedCrab - The Calculator

RedCrab is a scientific calculator with a full screen formula editor. The mathematical expressions are not typed in a typical command line, but can be enter in an editor window similar to a piece of paper. 

The calculator's editor supports the entry of complex algebraic equations like fractions, square roots, exponents, etc. for technical and scientific applications.

No installation of the software is required. You can just copy the software to your system and starts the program.

Starts from external disk, for example USB flash drive or CD / DVD



Why RedCrab?

No one today would want to work with word processing program that simulates a typewriter, for example, no copy, paste and edit. For typo errors, whole text must be rewritten.

But most PC calculators are just unflexible simulations of pocket calculators.

RedCrab is a calculator that exploits the possibilities of PC's. Easy to use like a pocket calculator, but provided with full screen editor, which supported corrections, saveing and printing as a word processing program.

Several tasks can be written in the same worksheet. Results can be adopted in other mathematical problems as in a spreadsheet program. Images and texts can imported to describe complex calculations.


Quick start without studying the manual

The handling of the basic functions is just like a conventional calculator. There is no training required. Whoever can operate a pocket calculator can also use RedCrab without studying the manual. This guide describes fundamentally the advanced features which a normal calculator does not possess.


RedCrab is portable

RedCrab is fully portable. The program can be started from external data storage source without installation. Settings can be stored as a file in the prorams root directory instead in the PC' s Windows registry. 

If you start RedCrab from a USB flash drive, your settings are stored on the stick.


 

System requirement

Minimum Pentium P4 and 500MB RAM.
Operating system: Microsoft *Windows 


Operating system: Linux with Wine runtime system



What others think about RedCrab:

itreadme.com : Red Crab’s Advantages over Windows Calculator
mydigitallife.info
: Scientific Calculator For Complex Calculations
downloadcrew.com:Solve complex equations in seconds with this powerful calculator
tricks-collections.com: Free and Portable Scientific Calculator

 


*Windows is a registered trademark of Microsoft Corporation.


posted @ 2011-09-27 19:26 RTY 阅读(522) | 评论 (0)编辑 收藏

TBB
欢迎访客| 登录 | 注册

线程构建Blocks.org欢迎您!

英特尔®线程构建模块(英特尔TBB)提供了一个丰富而完整的的方式来表达在C + +程序的并行。 它是一个库,可以帮助您利用多核心处理器的性能,而不必是一个线程的专家。 英特尔TBB不仅仅是一个线程更换库。 它代表了一种更高层次的,基于任务的并行抽象平台的细节和可伸缩性和性能的线程机制。

2011年9月8日:英特尔®线程构建模块4.0今天!

英特尔(R)TBB 4.0引入了几个新的特点: 
流图 :API扩展的IntelR TBB event-driven/reactive编程模型的适用性 
并发无序集 :线程安全的容器来存储和访问用户对象 
内存池 :线程安全和可扩展的对象分配实现了更大的灵活性和性能 
通用海合会*原子支持 :图书馆可移植性使范围更广的平台上开发基于IntelR TBB的解决方案 
任务和工作组的重点:提供指定基于三个优先级(低,正常,高)的任务的执行顺序的能力 
同时优先队列 :一个队列,允许拉在一个用户定义的优先顺序的数据

总是欢迎的新功能上的问题,反馈和贡献。 
下载英特尔TBB 4.0的今天!

关于释放的更多信息:

英特尔TBB 4.0 MTL的机器已经上市

2011年4月4日:打开级联和英特尔TBB

打开级联,一个CAD / CAE软件供应商和解决方案提供商,最近通过了英特尔TBB多核处理器,使他们的技术平台。 他们选择了英特尔TBB为并行算法,可扩展的内存分配器,和易于集成。 打开了CASCADE科技公共版本6.5发布于2011年3月,英特尔TBB版本提供给其整个开源社区。

3月25日,2011年公布的任务优先级CP功能

今天,我们高兴地介绍最新的CP的功能:任务,和工作组,优先。 这种功能的设置是今天在英特尔TBB 3.0更新6。

2010年12月23日,宣布图社区预览(CP)的功能

近期出台的第一个CP的功能,concurrent_priority_queue之后,英特尔TBB队推出了新功能,今天在英特尔TBB 3.0更新5 - 图形界面。 图形界面的开发者想利用英特尔TBB像使用事件或消息传递不规则的问题类型,以满足需要多年工作的高潮。 我们特别感兴趣的各界人士的意见,是否图是帮助生产更加优雅和高性能实现在现实世界中的应用。 一如往常,社会问题,反馈和贡献都是欢迎的。

2010年12月8日,公布社区预览(CP)的特点

英特尔TBB队高兴地介绍社区预览(CP)的功能,到今天使用英特尔TBB。 CP的特点是一个伟大的方式为英特尔展示新的和有趣的功能,我们的社会和客户之前就已经定稿。 作为我们的承诺,开放所有的英特尔®并行构建模块技术的一部分,我们希望我们的用户知道我们正在努力使英特尔TBB更好。 我们也希望获得您的反馈对即将推出的功能,使我们可以确保我们继续满足您的需求的今天和未来。

这些功能全面的测试,但没有正式支持或不一定完全记录。 鉴于这些功能的早期性质,我们不保证他们不会被删除或修改的方式,打破了预产版本的兼容性。 此外,他们是被默认关闭,因此他们将不会影响您的应用程序,除非你想给他们一个尝试。 我们期待着听证会在论坛上你的回应我们的第一个CP的功能,同时优先队列,并使用一般的CP功能。

2010年5月4日:英特尔®线程构建模块 3.0可

TBB 3.0对齐新的商业开放源码的版本现在可供下载。 如果您需要的TBB的3.0商业版本 ,它是评价和购买今天。您可以了解更多关于特里Wilmarth和詹姆斯Reinders英特尔软件网络博客发布。

最新消息

PC游戏硬件:里克使用TBB的创意大会会谈布罗德赫斯特拿破仑:全面战争-更好的性能,与帝国的附加 ​​?  

英特尔®软件网络:优化不费吹灰之力的作者约翰奥尼尔,徐家井,马特-沃尔什展示了如何使用TBB 2.2的自动更换内存分配器在梦工厂动画的渲染,动画和特殊效果,获得很大的性能改进应用。

  检查出谁是有成功使用TBB的。 如果您有什么你想约TBB的说,让我们知道,通过发送电子邮件我们tbb-users@lists.sourceforge.net。

更多

博客

如何使管道与一个英特尔®线程构建模块的流程图 
“的英特尔®线程构建模块(英特尔® TBB)流图是完全支持英特尔TBB 4.0。如果你不熟悉的流程图,你可以阅读这里介绍的一个问题是RECE ... ...” 
迈克尔沃斯(英特尔)发表于2011年9月14日9时20分14秒 

使用英特尔® TBB 4.0功能,以简化哲学家就餐 
“英特尔最近发布的4.0版本的英特尔®线程构建模块(英特尔® TBB),流:图从3.0社区预览功能已取得了标准的功能,和S ... ...” 
克里斯托弗Huson(英特尔)发表于2011年9月13日9时00分43秒 

在英特尔®线程构建模块的图形使用缓冲节点 
“当使用英特尔新的流程图®线程构建模块(英特尔® TBB),我们经常会遇到的情况下发送节点是准备输出的数据项,但没有接收节点准备T. ..” 
特里Wilmarth(英特尔)发表于2011年9月12日8时59分53秒 

更多 

论坛

虚拟迭代器与parallel_for 
“嗨,我试图部署在一个非常大的,成熟的软件(〜12岁)的多线程的代码是写在面向对象的方式和算法的并行化所有使用诉..” 
2011年9月21日14时19分35秒 

任务异步/分离? 没有任务执行一个单一的核心机? 
“嗨,我想要运行的任务,而不必明确地等待它从另一个线程或保持对它的引用,在我的代码,然后删除。是有可能吗?我有问题的机智... ...” 
2011年9月20日14点25分24秒 

concurrent_hash_map:擦除僵局时使用擦除(关键),同时持有相同的线程的存取 
“嗨,我只是想指出一些行为,我遇到了(误)是未记载的考虑下面的代码:。的typedef concurrent_hash_map <int, int> MAPT;米; m.insert MAPT(make_pair(1 .. “。 
2011年9月20日3时59分25秒 

更多 

为什么TBB

对于开发商而言,线程构建模块的明显的好处是:

  1. TBB的显著降低开发多线程应用程序所需的代码行的数量;
  2. TBB的显著减少编程的复杂性,多线程应用程序开发(抽象的线程管理的许多细节);
  3. TBB的任务管理器上运行的软件系统自动分析,选择最佳线程数,并执行负载平衡,向外扩散在所有的处理器内核的工作均匀;
  4. 因此TBB的自动调整线程应用程序,充分利用上运行的任何计算机上所有可用的处理核心 - 包括未来的系统,将有更多的内核比(或买得起)今天。

如果你有经验开发多线程C + +软件(新应用程序或multi-processor/multi-core系统上运行的遗留应用程序转换),你欠自己的线程构建模块的实验:尝试重新编写的软件一个几节线程使用传统的线程库,并注意到其中的差别。

在右边的链接提供TBB的资源和手段为您参加线程构建模块社区的访问。 如果您有任何问题,随时张贴在TBB的论坛 。 使用顶部的导航栏访问TBB的文档下载稳定版或开发版本。 下面的文章还提供了一个很好的介绍TBB的。

感谢访问ThreadingBuildingBlocks.org 。 我们希望这仅仅是开始TBB和您的参与兴趣的线程构建模块的开源社区。

搜索

网页和饲料的选择
打印 | 电邮给朋友 | 支持 | RSS 

收藏本 
 发表于  del.icio.us

资源


 

在操作系统(S)你使用TBB的呢?

 

 

posted @ 2011-09-26 21:16 RTY 阅读(999) | 评论 (1)编辑 收藏

搜索 
 对于  
DevGuide  
如何有助于谷歌 c + + 测试框架 
阶段实施特色
w...@google.com更新的2010 年 8 月 19 日

如果您有兴趣了解谷歌测试,从来源,或派遣的想法或修改项目、 建筑内部本文档将是你。

简介

首先,让我们给您项目的一些背景。

发牌

根据新的 BSD 许可证提供所有谷歌测试源和预编译的程序包.

谷歌测试社区

谷歌测试社区已经存在,主要是透过讨论组问题跟踪器和幅度较小,源代码管理储存库你肯定鼓励参与讨论,您还可以帮助我们保持高集团的效果后,促进在此处列出的准则。

请将友好

显示的礼貌和尊重他人是在谷歌文化的重要组成部分和我们强烈鼓励大家参与谷歌测试开发加盟不接受。当然,礼貌并不相同,未有建设性地不同意对方,但它意味着枚举 42 技术原因某项建议可能不是最佳选择时我们应该互相尊重。没有理由拮抗或轻视向任何人真诚地试图进行的讨论作出贡献。

肯定的是,c + + 测试是严肃的商业和其它的东西,但它也有很多乐趣。让我们保持这种方式。让我们努力成为所有开放源码中最友好的社区之一。

讨论谷歌测试的位置

一如既往,讨论谷歌测试的官方谷歌 c + + 测试框架的讨论组你不必实际提交代码,以便签约。您的参与本身是宝贵的贡献。

使用代码

如果你想把你的手弄脏与内谷歌测试的代码,这是你的部分。

签出颠覆的来源

签出谷歌测试源是最有用的如果您计划调整自己。谷歌测试使用颠覆客户端,但 Google Code 上承载的任何其他项目签出源。请如何做这件事的源代码访问页,参阅该指令。

从源代码编译

一旦您签出该代码,您可以找到有关如何编译它的自述文件中的说明。

测试

一个测试框架是不好,如果本身不彻底的测试。测试应编写的任何新的代码,并应在提交审查不打破现有的测试验证更改。要执行测试,按照自述文件中的说明,并验证不存在任何故障。

贡献代码

我们很激动谷歌测试现在是开源的和希望从社会得到很大的修补程序。在您最喜爱的 IDE 点燃并开始地敲击着这项新功能之前,不过,请花时间阅读本节和理解这一进程。尽管它看起来严格,我们要保持高标准的质量基本代码。

参与者的许可协议

我们可以接受任何代码之前,您必须注册参与者许可协议 (CLA)。共轭亚油酸保护您和我们。

  • 如果您是个人写作原始源代码,你知道你自己的知识产权,那么你需要签署个别共轭亚油酸.
  • 如果你工作的公司想要允许您将您的工作有助于谷歌测试,然后将需要签署公司共轭亚油酸.

按照上面的两个链接访问相应的共轭亚油酸和签署并返回它的说明。

编码风格

若要保持源一致的、 可读的 diffable 和易于合并,我们使用相当死板的编码风格,如由google styleguide项目定义。预计所有修补程序将符合所述的风格在这里.

更新生成的代码

谷歌测试的源代码文件的一些由泵工具 (Python 脚本) 生成。如果您需要更新这些文件,请修改源 (foo.h.pump),并重新生成的 c + + 文件使用泵。您可以阅读PumpManual的详细信息。

提交的修补程序

请不要提交代码。下面是您需要做什么:

  1. 通常您应进行更改 SVN 树干的分支或标记,而不是针对后面的两个版本控制,应被视为主要为只读。
  2. 决定您想提交哪些的代码。提交应解决一个问题中的Google 测试问题跟踪器的一组更改。请不要混合多个逻辑更改每提交,因为它使历史难追。如果你想有所改变,在问题跟踪器没有一个相应的问题,请创建一个。
  3. 此外,协调与团队成员的问题上列出。这可以确保工作不正在复制和沟通你的计划早一般也会导致更好的修补程序。
  4. 确保您的代码坚守谷歌测试源代码样式.
  5. 确保您的代码的单元测试。
  6. 签名参与者的许可协议。
  7. 创建使用svn diff修补程序文件.
  8. 我们使用里特韦尔进行基于 web 的代码审查。您可以阅读有关该工具在这里当您准备就绪时上, 传您的修补程序通过冶金并通知googletestframework@googlegroups.com作出检讨。有几种方法可以上载该修补程序。我们建议使用upload_gtest.py脚本中,您可以查找脚本 / SVN 树干中的文件夹。

谷歌测试独立自主

谷歌测试工程团队的当前成员目前是唯一的独立自主。在吃自己的试用的伟大传统,我们亦会规定每个新来赚取权成为委员会按照下面的过程在此文档中,谷歌测试工程团队成员编写代码始终很大,并演示重复他或她真正获取谷歌测试的禅宗。

发布过程

我们遵循颠覆基于项目的典型释放过程:

  1. 创建名为释放 X.Y释放分支。
  2. Bug 固定的树干 ; 添加的功能这些个别的修补程序合并到释放科才稳定。
  3. 个人单点发行版 ( ZX.Y.Z) 提出从分支创建标签。
  4. 重复步骤 2 和 3,整个一个发布周期 (如由功能或时间)。
  5. 返回到步骤 1,创建另一个版本分支,等等。

此页基于从谷歌 Web 工具包项目指南使 GWT 更好除了作为则指出,该网页的内容被许可创新知识共享署名 2.5 许可证.

posted @ 2011-09-26 20:55 RTY 阅读(202) | 评论 (0)编辑 收藏

     摘要: 我的收藏夹 ▼ |登录googletest谷歌 c + + 测试框架 项目主页下载维基问题源搜索   内搜索:    所有 wiki 页面  特色的页  当前页      不推荐使用的页     对于&nbs...  阅读全文

posted @ 2011-09-26 20:53 RTY 阅读(465) | 评论 (0)编辑 收藏


搜索 
 对于  
V1_6_XcodeGuide  
在 Mac OS X 上 Xcode 使用谷歌测试框架指南 
部署阶段
zhanyong...@gmail.com更新的2011 年 4 月 18 日

本指南将介绍如何在 Mac OS X 上的 Xcode 项目中使用谷歌测试框架。本教程开始快速解释为有经验的用户做什么。快速起步后指南 》 都提供了进一步的解释每个步骤。

快速入门

这是快速指南在 Xcode 项目中使用谷歌测试。

  1. 使用此命令在网站下载源代码: svn 签出 http://googletest.googlecode.com/svn/trunk/ googletest 只读
  2. 开放中的gtest.xcodeproj googletest-读-只/xcode/目录并生成 gtest.framework。
  3. 名为"UnitTests"类似 Xcode 项目中创建一个新的"壳工具"目标
  4. 将 gtest.framework 添加到您的项目,并将其添加到"UnitTests"的"链接二进制与图书馆"生成阶段
  5. 添加您的单元测试的源代码以"UnitTests"的"编译来源"生成阶段
  6. 编辑"UnitTests"可执行文件并添加环境变量命名为"DYLD_FRAMEWORK_PATH"值等于框架包含 gtest.framework 相对于已编译的可执行文件的路径。
  7. 生成并转
以下各节进一步解释每个深度,更详细地描述了如何完成它包括一些变化在上面列出的步骤。

获取源

目前,此处讨论的 gtest.framework 标记的谷歌测试版本中不可用,只有在树干。解释在谷歌测试网站,你可以得到代码从匿名 SVN 使用此命令:

svn checkout http://googletest.googlecode.com/svn/trunk/ googletest-read-only

或者,如果您正在使用颠覆您自己的代码库中,可以添加 Google Test 作为外部相关性颠覆资料库。按照这种方法,签出 svn 存储库,所有人都还将收到一份 Google 测试 (特定的版本,如果您愿意) 而不必显式签出。这一组的组成项目简单并减少复制到存储库中的代码。

若要使用svn:externals,决定要将具有外部源驻留。因为你想要分支的一部分进行发布时,您可以选择把树干内, 外部源。然而,把它称为third-party/googletest/1.0.1类似的版本标记的目录中的树干以外,是另一种选择。一旦建立了位置,则使用svn propedit svn:externals _directory_ svn:externals 属性设置对存储库中的目录。此目录不能包含的代码,但它的版本控制的父目录。

命令svn propedit将会出现你颠覆编辑器中,使编辑更简单长,(可能多行) 的属性。这同一种方法可用于检查出标记的分支,通过使用相应的 URL (例如http://googletest.googlecode.com/svn/tags/release-1.0.1)。另外,svn:externals 属性允许的特定修订版的树干与规范-r_ # # _选项 (例如的外部对象/src/googletest-r60 http://googletest.googlecode.com/svn/trunk).

这里是一个项目 (阅读通过svn propget) 树干上使用 svn:externals 属性的示例。此值将签出到谷歌测试的副本主干/外部对象/src/googletest/目录。

[Computer:svn] user$ svn propget svn:externals trunk
externals
/src/googletest http://googletest.googlecode.com/svn/trunk

向项目中添加框架

下一步是建立并将 gtest.framework 添加到您自己的项目。本指南描述了下面的两种常用方法。

  • 选项 1 ---将谷歌测试添加到您自己的项目,最简单的方法就是打开 gtest.xcodeproj (xcode 中发现谷歌测试树干的目录) 和手动构建框架。然后,将生成的框架添加到您的项目使用"添加-> 现有框架 … …"从上下文菜单或"项目-> 添加..."从主菜单。Gtest.framework 是可重定位,并包含页眉和您需要进行测试的目标代码。此方法要求重建每次您升级谷歌测试您的项目中。
  • 选项 2 ---如果您打算将为生的谷歌测试树干,其最新的功能纳入您的单元测试 (或自己是谷歌测试开发人员)。你要重建框架,每次更新源。要这样做,您需要将 gtest.xcodeproj 文件,框架本身,添加到您自己 Xcode 项目。然后,从生成产品项目的三角形发现,您可以找到 gtest.framework,可以添加到你的目标 (以下讨论)。

使测试目标

要开始编写测试,使新的"壳工具"目标。此目标模板是 BSD、 可可、 或碳下可用。添加您的单元测试的目标"编译来源"生成阶段的源代码。

接下来,你要在两种不同方法中添加 gtest.framework,取决于哪个选项您选择以上。

  • 选项 1 ---在编译期间,Xcode 将需要知道您要链接对 gtest.framework。将 gtest.framework 添加到您的测试目标的"链接二进制与图书馆"生成阶段。这将包括谷歌测试头在标题搜索路径中,并将告诉链接器在哪里可以找到的库。
  • 选项 2 ---如果您工作的树干,你也要将 gtest.framework 添加到您的测试目标的你"链接二进制与图书馆"生成阶段。此外,你要将 gtest.framework 作为依赖项添加到你的单元测试目标。这种方式,Xcode 将确保该 gtest.framework 是到目前为止,每次您的构建你的目标。最后,如果你不使用谷歌测试共享生成目录,你得将 gtest.framework 复制到您自己生成产品目录,使用"运行脚本"生成阶段。

设置可执行文件运行环境

可执行单元测试是壳的工具,因为它没有一捆,内容/框架的目录,在其中放置 gtest.framework。相反,必须在运行时告诉动态链接器搜索中的另一个位置的框架。这可以通过在"编辑活动的可执行文件..."中设置的"DYLD_FRAMEWORK_PATH"的环境变量参数选项卡,在"设置环境变量:"。此值的路径是目录的包含 gtest.framework 的路径 (相对或绝对)。

如果您还没有设置 DYLD_FRAMEWORK_PATH,正确,可能会得到这样一条消息:

[Session started at 2008-08-15 06:23:57 -0600.]
  dyld
: Library not loaded: @loader_path/../Frameworks/gtest.framework/Versions/A/gtest
   
Referenced from: /Users/username/Documents/Sandbox/gtestSample/build/Debug/WidgetFrameworkTest
   
Reason: image not found

要正确这个问题,必须包含可执行文件中指定的目录"从引用:"上述错误消息中的值。然后,在此位置的终端,发现包含 gtest.framework 的目录的相对路径。这就是你需要设置为 DYLD_FRAMEWORK_PATH 的值。

生成并转

现在,当您单击"生成走",将会执行测试。倾倒出这样的事:

[Session started at 2008-08-06 06:36:13 -0600.]
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from WidgetInitializerTest
[ RUN      ] WidgetInitializerTest.TestConstructor
[       OK ] WidgetInitializerTest.TestConstructor
[ RUN      ] WidgetInitializerTest.TestConversion
[       OK ] WidgetInitializerTest.TestConversion
[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran.
[  PASSED  ] 2 tests.

The Debugger has exited with status 0.  

摘要

单元测试是有价值的方式,确保你的数据模型保持有效,即使在快速发展过程中或重构。谷歌测试框架是伟大单元测试框架,C 和 c + + 于一体的与 Xcode 开发环境很好。

posted @ 2011-09-26 20:48 RTY 阅读(745) | 评论 (0)编辑 收藏

仅列出标题
共31页: First 4 5 6 7 8 9 10 11 12 Last