Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31254
  • 博文数量: 8
  • 博客积分: 206
  • 博客等级: 入伍新兵
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 03:16
文章分类

全部博文(8)

文章存档

2011年(8)

最近访客

分类: Python/Ruby

2011-07-17 10:57:15

如果按照python的官方文档的方法,写个wraper来封装c/c++的代码做计算,费时费工还不一定能写对。而ROOT主要用来处理数据,对付日常的一些杂活显然功能有些单薄。不过ROOT有个python的扩展,把两个结合在了一起,于是一切都简单了。
首先是在编译ROOT的时候,打开ROOT的扩展选项:  --enable-python
另外,还得在ROOT的默认环境变量的基础上,加个关于python的:  export PYTHONPATH=$ROOTSYS/lib/root
系统的设置就这些了。
使用的时候,先写好c/c++的标准代码。然后在python里面这样调用

  1. import ROOT
  2. ROOT.gROOT.LoadMacro("your_code.c") #加载脚本
  3. ROOT.gROOT.LoadMacro("your_code.c+") #编译,如果已生成so库,则加载
  4. ROOT.gROOT.LoadMacro("your_code.c++") #强制重新编译
  5. ROOT.gROOT.LoadMacro("your_code.c++O") #强制优化编译
  6. ROOT.gROOT.LoadMacro("your_code.c++g") #强制编译,并带有debug标记
  7. ROOT.your_c_func() #执行
如此以来,python轻松获得了c的效率,并且还带了一个强大的ROOT库来做分析。另一方面,ROOT也获得了强悍的系统扩展,特别是还有scipy和numpy做数值计算。所谓工欲善其事,必先利其器。终于得到它了。
阅读(1074) | 评论(0) | 转发(0) |
0

上一篇:服务器批量下载电驴的bash脚本

下一篇:没有了

给主人留下些什么吧!~~