トップページ > プログラム > 2020年03月29日 > Kzf4aDfw

書き込み順位&時間帯一覧

6 位/152 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000001002001000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
次世代言語18 Go Rust Elixir Kotlin TypeScript

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.105【環境依存OK】
775 :デフォルトの名無しさん[sage]:2020/03/29(日) 12:55:27.64 ID:Kzf4aDfw
>>771
Rustの入門書はどれがお勧めですか。
Box<T>や、Option<Box<T>> の代入や参照について詳しいものがあれば幸いです。
次世代言語18 Go Rust Elixir Kotlin TypeScript
845 :デフォルトの名無しさん[sage]:2020/03/29(日) 15:19:30.65 ID:Kzf4aDfw
>>844
Wasmはマシン語に相当するものなので、Wasm自体には使用言語に関する混合に関して何の制限も無い。
ただし、nativeアプリの場合と同じで、C言語の関数を通じてお互いに呼び出しあうなどは必要。
なお、今のところ、最低限マシン語とC言語の仕組みに関して知識がないと難しい。
(最低、アドレスやポインタについての理解がいる。)
次世代言語18 Go Rust Elixir Kotlin TypeScript
846 :デフォルトの名無しさん[sage]:2020/03/29(日) 15:27:11.95 ID:Kzf4aDfw
>>845
例えば、LLVMをバックエンドに持つコンパイラであって、LLVMの中の
%struct.XXXX のアラインメントのとり方が同じであって、かつ、
export、importする関数がC言語のインターフェースを持っているならば、
Wasm用のリンカでリンクが可能。

この条件を満たさない場合、リンクするのは難しいが、以下のようにすれば、
実行段階でお互いに関数を呼び出しあうことが出来る。
・それぞれの言語処理系でリンクを行って、*.wasm ファイルを作る。
 これらは、「Module」と呼ばれる。
・ModuleをWasmとして機能させるには、JSでInstace化を行う。
・この際に、それぞれの関数名を import すれば、お互いに関数を呼び出しあうことが可能。
・この場合、文字列や配列の様なものにアクセスし合いたい場合、ポインタ値がJSレベルでは
 単なる整数値になるので、それを、Memory と呼ばれる線形メモリーの ArrayBufferの
 アドレス値とすることで、可能。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
779 :デフォルトの名無しさん[sage]:2020/03/29(日) 18:35:29.30 ID:Kzf4aDfw
>>778
Javaのclasspath相当の機能をC++に移植したいということかね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。