Clang(コンパイラ)のインストール
- C:\Ruby32-x64\msys64\msys2.exe のコンソールで下記のコマンドを実行
- C:\Ruby32-x64\msys64\mingw64\bin にClangがインストールされる
pacman -S mingw-w64-x86_64-clang
ClangにPATHを通す
- 他に影響を及ぼしたくないので、必要なときだけPATHを通すようにしたい
- MSYS2のコンソールであれば、下記のコマンドを実行
(MSYS2のインストールディレクトリがルートディレクトリになることに注意)
export PATH=$PATH:/mingw64/bin
set PATH=%PATH%;C:\Ruby32-x64\msys64\mingw64\bin
$ENV:Path="C:\Ruby32-x64\msys64\mingw64\bin;"+$ENV:Path
共有ライブラリをビルド
- hoge.c から共有ライブラリ hoge.so をビルドしたい場合は下記のコマンドを実行
clang -fPIC -shared -o hoge.so hoge.c
- 参考までに下記にサンプルコードを示す。
- 配列変数の渡し方、受け取り方に注意。
- 共有ライブラリはシステムフォルダに配置するか絶対パスで指定しなければならない。
- rubyソースからの相対パスで指定したい場合は、__dir__ 定数を利用する。