InteropServices / macOS

本来、Windowsの.Net Framework で行われている、interoperability(相互運用性)のテストをmacOSで試してみました。
アンマネージド ライブラリ内の構造体、コールバック、および関数をマネージド コードからアクセスできるようにするP/Invoke(プラットフォーム呼び出し)を使います。

参考)
https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/pinvoke

コンソールアプリケーションのプロジェクト作成

dotnet new console -n interop

上記サイトのサンプルから、アンマネージライブラリを使ってプロセスIDの取得とディレクトリ情報の取得をします。

実行

dotnet run

以下はディレクトリ情報取得の動作確認用のCプログラムです。

ビルド、実行

gcc -o ftw_sample ftw_sample.c
./ftw_sample .

InvokeSampleのstruct Statの定義が不正確のため、実際とはアライメントがずれてしまっていました。

前回に続き、.Net/Mac でした。

About

Categories: 未分類