スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【PHP/C++】複数のソースファイルでPHP extensionを作る

複数のC/C++のソースファイルからオブジェクトを作りリンクしてextensionを作る方法をメモしておきます。

最初は自分でMakefileを編集してやろうとしたのですが、実はもっと簡単に自動生成してくれるらしい

(1)ファイルの確認

(2)config.m4の編集

(3)お決まりのコマンドをたたく

の3つに分けてまとめていきます

今回はhogehogeというPHP extensionをつくるという想定で進めて行きたいと思います

(1)ファイルの確認
extensionを作るディレクトリでは下記のように用意します

Makefile
config.m4
hogehoge.cpp(PHP extensionの本体のソースファイル)
UsingHoge.cpp(PHP extensionの本体から使われるプログラムのソースファイル)
UsingHoge.h





残りの細かいファイルたちは省略します

上記リストの場合hogehoge.cppでUsingHoge.hをインクルードして使っています。

(2)config.m4の編集
PHP extensionのスケルトンを作った直後のconfig.m4の一番下の方には

PHP_NEW_EXTENSION(hogehoge, hogehoge.cpp,  $ext_shared)

という記述があるとおもいます

複数のファイルでこのPHP extensionを完成させたい場合(1)でのリストをもとにここの記述を

PHP_NEW_EXTENSION(hogehoge, hogehoge.cpp UsingHoge.cpp,  $ext_shared)

というようにPHP_NEW_EXTENSIONの第2引数に使うファイルを記述してあげればいいみたいです

あとはお決まりのコマンドをたたいてMakefileを作成し、makeコマンドによりコンパイル/リンクするだけです

(3)お決まりのコマンドをたたく

phpize
./configure
make

のPHP extensionをつくる上でおきまりのコマンドをたたいてsoファイルを作成しましょう。

作ったPHP extensionの使い方は過去の記事
http://6rats.blog62.fc2.com/blog-entry-7.html
を参照してください。
スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:PHP  Trackback:0 comment:0 

Comment

comment form
(編集・削除用):
管理者にだけ表示を許可
プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。