Gauche:インストールディレクトリの取得

Gauche:インストールディレクトリの取得

Shiro(2020/03/25 12:57:22 UTC):実行中のGaucheプロセスからインストールされた場所を取得する話。場合分けがややこしいので整理する。

関連issue: https://github.com/shirok/Gauche/issues/644

目的

場合分け

実装

paths.cの中でプラットフォームごとに次の3つの基本関数を実装。 いずれも情報が取れない場合はNULLを返してよい。

libgaucheをリンクしたプログラムの場合、バイナリはいろんな場所に存在し得るが、 Schemeライブラリはlibgaucheの位置を基準にできる

実行中のプログラムのパスは、static linkの場合の次善の策 (その場合、Schemeライブラリ自体 存在しない可能性が高いが) である他、単独でバイナリの位置を取りたい場合にも使える

Public C APIとしては次の3つ。情報が取れない場合は#fが返る。

Schemeレベルでは、gauche.internalに以下の手続きとして見える。非公開。


Last modified : 2020/04/05 22:00:56 UTC