来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
複数のスレッドから1つの変数にアクセスする際、システム側のスレッドスケジューリング次第で、予期せぬ書き換えが起こってしまう場合があります。その為、ある1つのスレッドが変数にアクセスしている際は他のスレッドをブロックする排他制御やスレッドの同期を行う必要があります。C++でJavaのsynchronizedメソッド/ブロックと同じような記法でクリティカルセクションを実装する方法の1つにboost::threadライブラリのmutexとconditionクラスがあります。 mutex クラスの使い方 スレッドの排他制御を実現できます。具体的な使い方は、mutexインスタンスをmutex::scoped_lockクラスのコンストラクタの引数に指定し、そのインスタンスを取得することでロックをかけられます。あるスレッドが上の処理を以ってmutexインスタンスにロックをかけた場合、その他のスレッドは再
pythonとc++のインターフェイスを作る方法には boost.pythonを使う方法 swigを使う方法 python.ctypesを使う方法 f2py (Fortranを使うためのInterface)を使う方法 pyreを使う方法 直接Cのインターフェイスを作る方法 があるようだ。 http://www.scipy.org/Cookbook のUsing NumPy With Other Languages のセクションにさらに詳しい解説がある。 ここでは特に配列(numpyの行列)をc++と連携して使う方法に注目していくつかの方法を比較する。numpyは数値計算や行列演算を行うpythonのパッケージでnumarrayの後継にあたる。numpyはnumarayと違って行列が配列の先頭ポインター(double *array)を渡すだけでc++とやりとりができる。そのためc++との連携
ここではLL魂2007デモコードで用いたPythonからC++で書かれた関数を呼び出す方法について説明します. 今回は大量の数値演算をするためC++側でSSE2を使うことにしました. そのためには大前提としてメモリ上に連続して並んだデータが必要になります. Pythonのリストはそのような用途には向かないため,arrayを使います. 今回は浮動小数を使うのでdoubleの'd'を利用することにしました.精度を落としてよければfloatにして速度を稼ぐこともありです. vx = array.array('d', [0.0] * N) 次にC++(boost::python)からこのarrayにアクセスするためには,生のポインタ情報が必要になります. それにはbuffer_info()を使います.マニュアルにはこのAPIは後方互換性のために残されているので使わない方よいと書かれていますが,便利
Synopsis Boost.Python へようこそ。 これは C++ と Python プログラミング言語との、シームレスな相互運用を可能にする C++ ライブラリである。 新しいバージョンは、より便利で柔軟なインターフェースを持っており、 下記の実装を含む多くの新しい機能を持たせるため、根本から書き換えられた。 参照とポインタ 大域的に登録される型の強制 Automatic Cross-Module Type Conversions 効率的な関数オーバーロード C++ 例外の Python への変換 デフォルト引数 キーワード引数 C++ の中での Python オブジェクト操作 Python イテレータとしてあつかわれる C++ イテレータのエクスポート Documentation Strings The development of these features was fund
ネットを ぼ〜っと回っていると、↓こんなのを見つけた。 Embedding Python in Your C Programs | Linux Journal http://www.linuxjournal.com/article/8497 そういや、似たようなのを公式ドキュメントでも見たなぁ、と思い出す。あった、あった。 Python インタプリタの拡張と埋め込み http://www.python.jp/doc/nightly/ext/ext.html 5.1 高水準の埋め込み http://www.python.jp/doc/nightly/ext/high-level-embedding.html Python/C API リファレンスマニュアル http://www.python.jp/doc/release/api/api.html 2. 超高レベルレイヤ http://www
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く