問題タブ [cffi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python フラッシュ出力が cffi ライブラリで機能しない
supervisor
コンポーネントを初期化するために C ライブラリに依存する Python アプリケーション ( で実行) を使用すると、奇妙な動作が発生します。
私の問題は、関数を呼び出すときに、この C ライブラリによって出力された出力が表示されないことです。
アプリケーションのすべての出力はlogging
モジュールで管理され、スーパーバイザーはそれを単一のログ ファイルにリダイレクトします。
だから私はこれが単なるflush
問題だと思ったので、次のことを試しました:
しかし、うまくいきません。printf()
ログ ファイルに自分が表示されません。
sudo supervisorctl restart all
また、アプリケーションを再起動しようとすると、 C ライブラリの出力が最終的にログ ファイルの最後にフラッシュされることに気付き
ました。
最後に、PYTHONUNBUFFERED=1
supervisorctl を設定すると機能しますが、パフォーマンスの問題のためにプログラムをバッファリングせずに実行したくありません。
sys.stdout.flush()
--> C ライブラリの呼び出し後に使用してもログ ファイルの出力がフラッシュされない理由を誰か説明できますか?
ありがとう !
python - cffi を使用して Python から Fortran DLL を呼び出す
私は現在、Fortran dll からの PDE ソルバーを必要とする simultion-tool に取り組んでいます。Python から dll を呼び出す方法を理解するために、同じ dll からより単純な関数を使用しましたが、動作させることができません。
システムスペック: Windows 7 Professional (64bit) Spyder 3.2.8 Python 3.6.5 (32bit)
現在、cffi を使用して fortran 関数を呼び出していますが、どちらも機能しません。
これは、cffi で関数を呼び出すために使用しているコードです。ロードしているdllには、呼び出す予定の関数S01BAFが含まれています。表示されるエラー メッセージは次のとおりです。
それが何を意味するのかわかりません。
関数自体が機能しているかどうかを確認するために、別の言語 (VBA) から呼び出してみましたが、問題なく機能しました。
メッセージボックスには、ln(2) の正しい値が表示されます。
以前に寄せられた質問を読みましたが、私の問題に回答を適用できませんでした。
@Joeのおかげで機能するコードは次のとおりです。
乾杯、ティロ