スポンサーサイト

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

Tag:スポンサー広告 

【PHP/C++】C++でPHP extension を書く際の注意事項

PHP extensionをC++で書く際の注意事項をまとめます

(1)config.m4の編集

(2)ソースの編集

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

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

(1)config.m4の編集
ext_skelによって作られるPHP extensionのスケルトンに含まれるconfig.m4の編集をします

前回の記事でも紹介したのでextensionの詳しい作り方については割愛していきます。
まずは以下の部分のコメントアウト(dnl)を外してください

 dnl PHP_ARG_ENABLE(hogehoge, whether to enable hogehoge support,
 dnl Make sure that the comment is aligned:
 dnl [  --enable-hogehoge          Enable hogehoge support])



 PHP_ARG_ENABLE(hogehoge, whether to enable hogehoge support,
 dnl Make sure that the comment is aligned:
  [  --enable-hogehoge          Enable hogehoge support])

その直後くらいにC++対応の設定を記述します

CC=/usr/bin/g++

ダイジェストすると
 PHP_ARG_ENABLE(hogehoge, whether to enable hogehoge support,
 dnl Make sure that the comment is aligned:
  [  --enable-hogehoge          Enable hogehoge support]

CC=/usr/bin/g++

if test "$PHP_HOGEHOGE" != "no"; then
  dnl Write more examples of tests here...

こんな感じになるはずです。

config.m4の最後の行の方に

PHP_NEW_EXTENSION(hogehoge, hogehoge.c, $ext_shared)

という行があるので

PHP_NEW_EXTENSION(hogehoge, hogehoge.cpp, $ext_shared)

というように変更してください。

これは完全にC++で書くのだから拡張子そろえようかなというくらいの話です。

(2)ソースの編集
スケルトンとして作られるhogehoge.cをhogehoge.cppと名前変更します

そのつぎは


extern "C" {
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_hogehoge.h"
}


というようにincludeしてる文を


extern "C"


で囲います

(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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。