欢迎来到天天文库
浏览记录
ID:35955660
大小:30.65 KB
页数:18页
时间:2019-04-27
《python中嵌入c语言脚本》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、----WORD格式--可编辑----python中嵌入C语言脚本借助Cinpy和C语言解释器TinyCC,可以在python程序里面直接嵌入C语言片断、不经编译直接使用C编写的函数了。win2k平台上,简单的测试对比数据如下(递归方法计算第四十项兔子数列fib(40))语言实现时间(单位:秒)评python官方python2.4.3纯pythonfib函数568.718天啊使用psyco加速的pythonfib函数17.922--------WORD格式--可编辑----比较接近,还行使用swig直接转换的C语言编写的模块13.453使用Cinpy嵌入fib
2、函数11.532CVC6速度优化编译的可执行文件5.562TinyCC0.9.23编译的可执行文件--------WORD格式--可编辑----6.719解释执行6.813FreeBASICfbc0.16b编译的可执行文件(-arch486)8.022编译的可执行文件(-arch686)--------WORD格式--可编辑----7.619--------WORD格式--可编辑----forth4th3.5a24thcxfib.4th277这个表现太失望了4thcsvfib.4thfib.hx4thlxfib.hx1964thlgfib.hxfib.cmin
3、gw-O2fib.c-ofib.exe110--------WORD格式--可编辑------------WORD格式--可编辑----gforth-0.6.2--------WORD格式--可编辑----Gforth-fastfib.gfth14.719不错,不过不是说和C的速度可以比嘛?怎么也就是优化的python的速度啊注:其余源程序freebasicfunctionfib(xasinteger)asintegerifx<=1thenreturn1elsereturnfib(x-1)+fib(x-2)endifendfunctiondimstart
4、time,endtimeasdoubledimresasintegerstarttime=timerres=fib(40)endtime=timerprint"fib(40)=";res--------WORD格式--可编辑----print"timeelapsed:";(endtime-starttime);"s"--------WORD格式--可编辑----4th:fib(x--y)dup2>ifdup1-recurseswap2-recurse+exitthendrop1;time41fib.crtimeswap-."timeelapsed".."
5、s"crgforth-0.6.2:fib(x--y)dup2>ifdup1-recurseswap2-recurse+exitthendrop1;utime41fib.crutime2swapd---------WORD格式--可编辑----."timeelapsed"d.."us"cr--------WORD格式--可编辑----如果在windows下使用mingw编译当前的TinyCC,嵌入C--------WORD格式--可编辑----脚本会报错:tcc:file'/c/ProgramFiles/tcc/libtcc1.a'notfoundDoug
6、Currie在tcc的邮件列表里面提供了一个补丁:HereiswhatIdid(andreportedtothemailinglist)lastFebruary,sothepatchmaynotbeaccurateformorerecentversions,buttheissuesarethesame...Ihavebeenabletocreatealibtcc.dllforWinXPusingMinGW/MSYS;thechangesthatwerenecessarywereveryminor.Perhapsthisdescriptionwillhelpot
7、hersuselibtcconWindows.First,asmallbugtoreport:Intcc.cthefunctiontcc_basename()followstheline:#if!defined(LIBTCC)butthefunctiontcc_basename()isusedinpe_build_exports()intccpe.c--movingthe#iflinebelowthefunctiontcc_basename()eliminatesalinkerrorbuildinglibtcc.dllinPEtargetmode.------
8、--WORD格式--可编辑----Se
此文档下载收益归作者所有