問題タブ [language-binding]
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.
c++ - C 関数ポインターに配置できる C++ 関数の種類は何ですか?
コールバックに関数ポインタの構造体を使用する C ライブラリがあります。コールバックは C コードから呼び出されます。
C ライブラリから呼び出される関数ポインタに安全に配置できる C++ 関数の種類は何ですか? 静的メンバー関数? 完全に指定されたテンプレート関数? 非キャプチャ ラムダ?
g++ では上記のすべてを使用できるように見えますが、C および C++ 関数に異なる呼び出し規則と言語バインディングが使用されている場合の安全性に疑問があります。
c++ - C++ バインディングでの Fortran ランタイム エラーとシグナルのキャッチ
C++ バインディングで終了する Fortran ランタイム エラーをキャッチできるようにしたいと考えています。バインドするレガシー F90 コードがあり、数値、IO などのあらゆる種類のエラーが予想されます。
Intercepting Fortran STOP from C++ and can throw/catch for this case in the C++ code.に従って STOP を処理する ことができました。
https://www.sharcnet.ca/help/images/4/42/Fortran_Signal_Handling.pdfで「Fortran でのシグナル処理」についてある程度理解しました 。
しかし、私はこれを管理していません.f90 fortranの例は非常に役に立ちます.
たとえば、fortran サブルーチンで存在しないファイルを開こうとすると、実行時エラーが発生し、C++ コードが終了します。
open (unit=13,FILE="fnameBAD",status="old",action="read",position="rewind")
Fortran ランタイム エラー: ファイル 'fnameBAD' を開けません: そのようなファイルまたはディレクトリはありません
シグナルを使用して、このエラーやその他の実行時エラーをキャッチできるようにしたいと考えています。
python - カスタマイズされた lua ベースのスクリプト言語のラッパーを作成する
Lua の拡張であるプログラムがあります。つまり、多数の追加オブジェクトと関数が含まれています。このプログラムを使用して、標準の lua に加えて追加機能を利用する lua スクリプトを実行できるようになりました。このようなスクリプトの一般的な例は次のようになります (ここで NewObject、+操作は標準の lua ではありません) 。
さて、これらのオブジェクトと関数を Python で使用したいと思います。そのため、引数データを (カスタム) lua-runtime に渡し (そして最後に結果を取得)、上記の呼び出しを動的に行うことができるある種のラッパーを作成したいと考えています。lupa など、標準の lua 用の Python ラッパーが存在することは知っています。ただし、標準のlua-interpreterを使っていないので、使えるかどうかはわかりません。さらに、私はそれをできるだけ軽量にしたいと思っています (交換する必要があるデータはかなり「標準」です。つまり、整数、浮動小数点数、文字列、ブール値、およびそのようなタイプのテーブルであるため、「より高い」オブジェクトはありません) そしておそらく LuPaすでに必要以上のことをしている..)。
残念ながら、私はラッパーや言語バインディングを書いた経験がなく、どのように始めればよいのかよくわかりません。誰かがこのトピックについての読み物を提供してくれたり、現在の状況についていくつかの提案をしたりできれば幸いです.