请教!有熟悉Python的吗?Python如何调用DLL?

Discussion in 'Python & Quantopian' started by wj2000, Mar 21, 2010.

  1. 偶看得出來呀,所以偶跟你推薦Lua,Lua更接近C,沒有高級的面向對象,玩UNIX的絕對喜歡。如果你要用到Gui開發,Lua官方也有推薦幾個開發庫。
    DLL的二進制級調用基本上腳本語言都能支持,不然就無法進一步開發擴展;不過如果是C++的DLL,還是得用上面的辦法,這是C++高級語言特性的本質緣故,必須得源代碼級+編譯器級調用。
     
  2. 谢谢,我先看些资料研究下,有问题再请教。丢了太多年了,重新拾起起步的时候比较难决策。
     
  3. Python应当比Lua用的人多一点.

    我只知道,解密用的超级工具ida5.5上就集成了Python2.6

    他的效率比较高.
     
  4. 不要听他们胡说, python是动态语言中执行效率最高的一个,而且现在google在搞个新技术,准备让python的执行速度再提高几倍,直逼java.
     
  5. 现在流行动态语言,C# 4.0 也支持动态了。
     
  6. python是我的最爱:)
    调用dll很简单,用ctypes就行
     
  7. 用ctypes好像是只调用C写的DLL吧?如果是c++写的DLL好像就不是用用ctypes那么简单的了?
    谢谢
     
  8. python调用dll就用ctypes好了,挺方便的。
    swig不推荐使用,能用好swig的人,基本也可以直接用python api做封装了。
     
  9. 作为一个熟悉python几乎所有细节的人,我可以告诉你这是非常困难的。
    目前最有希望的是PyPy,但是差距仍然很大。

    不过一般情况下也不需要,我现在是Python+RPython组合。
    前者搞定不需要高性能的,但需要高开发效率场合。
    后者搞定需要一般开发效率,但需要高性能的计算的场合。

    RPython挺不错的,拥有接近Python的开发效率,和比C还快的速度。
    http://morepypy.blogspot.com/2008/01/rpython-can-be-faster-than-c.html
    但是RPython挺难用的,目前全世界估计只有100多个人在用吧。
     
  10. 请教lvsoft:
    Language Integrated Query (LINQ) 是不是只能被.net语言 C# 和 VB.NET 使用?可以被c/vc++或Python使用吗?
    谢谢
     
  11. 我没用过LINQ,另外我对MS的所有技术都不熟悉。我家里所有的电脑只用linux。
    关于你的问题,只要是C/C++能使用的库,Python一定可以用。
    用Python API封装下即可。
     
  12. lua更适合作为嵌入式脚本引擎嵌在你自己的程序里面,很少用来作为主力开发语言。
    python最大的好处是库多,可以作为各种模块的黏合剂。
     
  13. 这个问题还没搞定啊?
    我准备慢慢切入了~过段时间,我先把python下调用CPT的问题搞定,作为一个开始~

    不过我肯定是基于linux搞。好在基于ctypes的话,应该只要改几个地方,同样的代码就能用于windows下了。

    等搞定了我把结果会发在这个thread里面的。

    ruby速度比python要慢。而且我不是很喜欢ruby的语法。
     
  14. 好吧,我承认我错了...今天一试才忽然意识到,CPT的API是用C++写的...开源的东西可是对C++相当的不友好...
    所以,ctypes肯定不能用了,直接用Python API封装工作量会很大,swig倒是可以减轻点工作量,但是因为swig对C++的class的某些feature支持不完整,可能会遇到潜在的问题。
    好在还有boost.python。。。

    算了明天接着弄吧...
     
  15. 所以最后可能还是直接用c++了。
    另外问下,java是不是能直接用c++生成的dll?java麻烦的是都需要“捆绑”一个大大的库。
     
  16. 我肯定会用python的~~
    java通过jni调用C还比较方便,调用C++我就不清楚了,java跟c++都不是我喜欢的~~~
     
  17. 敢问lz为什么一定要执着于用python去调用dll呢?
    用VB或者.net去调用dll是最直接和最简单的,
    VB(vba)其实很容易学,Basic :)
    我倒是对Windows和Unix既不执着也不偏见,一个OS而已,怎么方便就怎么用
    不过我对.net和java倒是有一些偏见,呵呵(开个玩笑...)
    C, VB(VBA), matlab, perl, AFL这些简单和直观的东西我比较喜欢,python很强大但没有一定要用它的压力。
     
  18. 因为我最擅长python啊~~对我来说,从web页面开发,到服务器应用,到网络应用,到高性能计算,到科学计算,甚至是嵌入式开发,我全部是基于python搞定的。任何时候python都是我的首选武器~~

    至于Windows,我已经7、8年没摸过了~
    对其他语言倒也没啥偏见,只不过既然这些东西都用顺手了,就懒得去学套新的~
     
  19. LS,交易商的平臺支持和測試開發軟件本身就偏重于Windows,除非是機構開發大項目需要分布到不同Linux服務器上,否則對于個人,Linux不是充分利用現有資源快捷開發交易策略的首選吶。
     
  20. 没关系,对于windows程序,基于linux我还是有许多处理方法的。
    其实前端只要是搞定交易和行情就行了,后端策略我会完全用自己的实现。
    我有比较丰富的大规模并行计算和高性能计算经验,不太依赖现成的策略软件。