エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rust の Foreign Function Interface (FFI) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rust の Foreign Function Interface (FFI) - Qiita
この宣言部分です。抽象的なC言語としてはこの宣言だけあれば どこかにある func_a() 関数に処理を移せ... この宣言部分です。抽象的なC言語としてはこの宣言だけあれば どこかにある func_a() 関数に処理を移せば良い事は定まっているため、このプログラムはどのように実行すればいいか定まりコンパイル出来るわけです。このような言語内のインターフェースを一般にAPIと呼びます。このレベルでC言語はどのような処理系でコンパイルするか、LinuxなのかWindowsなのかに依らないのでAPIは移植性がある一方、C言語内の概念になるので他の言語からは呼び出せません。 一方リンクの話で書いたように、Linux/GCCではこの宣言はオブジェクト main.o には func_a は Undefined なシンボルとして含まれ、リンク時にどうやって呼び出されるかが決まります。共有ライブラリの場合はさらに実行時に ld-linux.so が探してくるんでしたね。このように main.o の中にある機械語(例えば