タグ

pythonとctypesに関するjuno_cのブックマーク (9)

  • 第9回 Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 | gihyo.jp

    Python 3.0 Hacks 第9回Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 目的 Python3.0に限らず、新しいバージョンのPythonがリリースされるたびに悩ましい問題があります。バイナリ製の拡張モジュールが豊富である所がPythonのひとつのウリなんですが、Pythonのメジャーバージョンをまたいでは動作しないのがツライところ。特にWindowsではコンパイラが標準でインストールされていないこともあり、他のOSほどソースからのビルドが容易ではありません。バイナリがリリースするまで待つことになると、拡張モジュールの新しいバージョンが出揃うのにどうしても時間がかかってしまうのです。これが、Pythonのニューバージョンの普及が出遅れる要因のひとつになっています。 この問題の主な要因に、ライブラリとPythonの「橋渡し部分」を

    第9回 Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 | gihyo.jp
    juno_c
    juno_c 2009/05/07
    面倒な構造体の定義とかを自動生成してくれるらしい
  • Hyper EstraierのAPIをPythonのctypes経由で呼び出す - HDEラボ

    Python 2.5から、ctypesというライブラリが標準ライブラリに追加されました。このライブラリは、Cの関数をPython用にラッピングしてくれるライブラリで、PythonからCのライブラリ(.soとか.aとか.dllとか、環境による)中の関数を「直接」呼び出すことができます。 似たような仕組みには、SWIGや、PythonのC拡張モジュールなどがありますが、ctypesはそれらの仕組みと比べ、圧倒的に手軽なのが売りです(だと思います)。 たとえば、Python 2.5以上であれば、インタラクティブモード上で、 >>> from ctypes import * >>> libc = CDLL("libc.so.6") >>> libc.puts("hello ctypes") hello ctypes 13 のように、いきなりlibcのputs関数を呼び出すことができます(インタラク

  • ctypes チュートリアル

    これらの型は全て,オプションの初期化指定子として正しい型と値を使って 作成することができます: >>> c_int() c_int(0) >>> c_char_p("Hello World") c_char_p('Hello, World') >>> c_uint(-3) Traceback (most recent call last): File "<stdin>", line 1, in ? ValueError: Value out of range これらの型は可変 (mutable) なので,その値はあとで変更することが できます: >>> i = c_int(42) >>> print i c_int(42) >>> print i.value 42 >>> i.value = -99 >>> print i.value -99 c_char_p , c_wchar_p ,お

  • Free Coding PNG Images with Transparent Backgrounds - FastPNG.com

    Download Coding PNG images for any device and screen size. High quality Coding PNG and images! Customize your desktop, mobile phone and tablet with our wide variety of cool and interesting Coding PNG in just a few clicks.

  • Python: PaSoRiでSuicaの履歴を読み出す・その後

    以前、PaSoRiでSuicaの履歴を読み出すという記事を書いたけど、酷いバグを見つけた。物販で購入時の時刻を間違えるというもの。言い訳になるが、つい最近まで古いSuicaを使っていて、駅の自販機などでSuicaが使えず、テストしていなかったのだ。申し訳ない。 と云うわけで、修正したソースを公開しておく。バグだけ修正しても面白くないので、少し改良した。以前は残高しか出なかったが、使用した金額も併せて表示するようにした。また、以下に示す出力のように日時が先頭に来るように変更した。等々。 2008年xx月xx日 ○○駅 ××駅 540円 4160円 改札機 運賃支払(改札出場) 2008年xx月xx日 ○○駅 +2000円 6160円 券売機等 チャージ 2008年xx月xx日 xx時xx分xx秒 買物 120円 6040円 自販機 物販 以下、ソースコード。まだテストが足りないのでバグがある

  • programming/python/ctypes - PukiWiki

    2008-07-20 - subversion 2008-07-08 - Kubuntu 2008-07-04 - scipy 2008-05-25 - apache 2008-05-09 - ctypes 2008-04-26 - ファイルシステム - Linux - ループバックデバイス 2008-04-21 - コマンド 2008-04-03 - emacs 2008-03-17 - itertools 2008-03-14 - python - RecentDeleted - cvs 2008-03-10 - .bashrc 2008-02-06 - PIL 2008-01-21 - cron 2008-01-17 - popen2 2008-01-12 - sip 2008-01-10 - 初級編 簡易HOWTO C++は無理。 C言語で書いたラ

  • FeliCa の Id を python で読む(その2) — takanory.net

    FeliCa の Id を python で読む(その1) でいったん挫折した私ですが、意外なところがきっかけで再度やってみることにしました。 そのきっかけは先日開催された Python Unconference Tokyo 1 です。 私は参加できなかったんですが、発表資料が公開されたのでざっと読んでみました。 その中のライトニングトーク PyTCで学ぶPython C拡張の書き方 (末永 匡さん) という発表資料を読んでみると、python で外部のライブラリを使用するための主な手段についての説明がありました。 その中には ctypes, SWIG, Pyrex, SIP, Boost.Python, Cによる拡張モジュールという手段が説明されており、その中で ctypes はこんな感じで紹介されていました。 The ctypes package Windowsではおなじ

  • 傀儡師のプログラミング日記

    juno_c
    juno_c 2008/12/10
    CaboCha を ctypes で使ってみようとして玉砕
  • Note (Python Faster)

    Pythonの高速化 Pythonは非常に使い易い優れたスクリプト言語であるが、大きなプログラムになると やはり、スクリプト言語としての宿命か、処理速度が気になる。 ctypesモジュールはシェアドライブラリの関数をPythonから直接使用可能にするもので、 従来より高速化が容易になる。 2006年8月にバージョン1.0がリリースされ、Python2.5からは標準で組み込まれる。 スクリプト全体を高速化 Psycoは Just-In-Time(JIT) compiler方式で数倍から、運が良ければ数十倍高速になる 但し Psycoは64ビットマシンには対応していない、64ビットマシンには開発途上のPyPyがある 部分高速化 ループなど時間の掛かる部分にC言語をinlineで使用する方法 1:weave   Scipyに含まれているモジュール 2:instant swigを利用する  モジュ

  • 1