3

静的にリンクされた.soを持っているので、から関数を呼び出すことができるはずです。その最初の引数は、処理されるデータのメモリアドレスです。Pascalで記述されたサンプルの呼び出し元がありますが、知りたいのは、このライブラリ関数をPHPから呼び出すことは可能ですか?もしそうなら、どのように?注:この.soはPHP拡張子として記述されていません

4

2 に答える 2

1

使用したいライブラリはPHP拡張機能として記述されていないため、Cでラッパー拡張機能を記述し、PHP引数を受け取り、変換後に引数を使用してライブラリ関数を呼び出すPHPメソッドを作成する必要がありました(ポインターを使用するなど)。メモリアドレス用)。

于 2014-12-16T19:26:07.160 に答える
0

実行時にPHP拡張機能をロードするには、dl()関数を使用します。

if (!extension_loaded('myextension')) {
   dl('myextension.so');
}

これで、そのライブラリ内からオブジェクト/関数を使用できるようになります。

もう1つ覚えておくべきことは、php.iniのenable_dlディレクティブを有効にする必要があるということです。

于 2012-12-10T18:06:27.380 に答える