Perlテックブログ

ITエンジニアの成長意欲を刺激する技術考察、モジュール開発の日記。Perlイベントや国内や海外のPerlの記事の紹介。

疑似的なrequire - SPVM開発日記

疑似的なrequireを実装したい。

C言語だと、「#ifdef」を使って、条件に応じて、ライブラリを読み込んだり、読み込まなかったりできるけれど、マクロがない言語だとこのようにできない。

すべてを静的にコンパイルするのだけれど、ライブラリが存在するときだけ、読み込んで、そうでない場合は、実行時に検知できるという仕組みを作りたい。

これを作らないと、たとえば、SSLに対応している場合だけ、HTTPSに対応し、そうでない場合は、HTTPだけ対応するというようなロジックを書けない。

Javaは、動的にクラスを読み込む仕組みがあって、これを使って実現できるのだが、SPVMはすべてを静的にコンパイルするので、この仕組みが使えないので、代替的な方法を実装する必要がある。