PHP调用C编程总结(windows)
一.环境的安装
下载安装包,Google上搜索php+apache+sql的安装包并安装。
二.扩展编程
针对在PHP环境下掉用C编程(c程序编译的dll),主要有以下两种方式。
1.利用ATL构建DLL组件,然后再PHP里面直接调用,调用方法为
<?php
$com = new COM("atltest.Fun") or die("无法建立COM组件");
echo $com->show(2);
?>
2.按照linux下的方式来调用c程序写的dll。
这种方式主要步骤为:
(1).在linux下用php生成工程文件,然后拷贝到windows,(为什么这样做,因为windows下php没有扩展编程)
(2).在windows下对php工程文件的php_xxx.h和xxx.c编辑,添加扩展的函数(方法),然后编译,生成扩展DLL.
(3).把生成的DLL拷贝到php的扩展调用路径里面,再在php.ini里面添加生成的DLL支持。
(4).最后在php程序中直接调用扩展DLL里面的函数即可.
三.总结
第一种方法实现比较容易,但须用到第三方库,测试通过。
第二种方法实现起来比较困难,测试未通过。
最后决定使用第一种方法。
/*******************************************
附:第二种方法的一些步骤。
********************************************/
装好如下软件:
引用
1. VC++ 6
2. php二进制环境
3. Cygwin.
I. 下载php的源码包
下载后php源码包解压后有个ext目录,这个目录就是负责开发扩展的目录,目录中有默认你扩展的所有源码。还有两个重要的文件:ext_skel , ext_skel_win32.php.
ext_skel是创建扩展的shell,在windows上无法运行,所以就必须要有Cygwin。
II. 建立php扩展骨架目录文件
如果你的cygwin没有安装在c:\cygwin,进入php源码包\ext目录下,修改ext_skel_win32.php :
$cygwin_path = 'c:\cygwin\bin';
修改为你的cygwin目录
$cygwin_path = 'd:\cygwin\bin';
命令行方式进入ext目录然后运行:
php ext_skel_win32.php –extname=myhello
(当然,为了保证上面的命令行能正常运行,首先你
相关文档:
一个接口可以继承自另外的接口。PHP5中的类是单继承,但是接口很特殊。一个接口可以继承自多个接口。
一个接口继承其它接口时候,直接继承父接口的静态常量属性和抽象方法。
在PHP5中,接口是可以继承自另外一个接口的。这样代码的重用更有效了。
要注意只有接口和接口之间使用 继承关键字extends。
类实现接口必须实现 ......
多态这个概念,在Java中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。在PHP5中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说PHP5中多态的是变量。
我们只能说在PHP5中,多态应用在方法参数的类型提示位置。
一 ......
1.开发工具下载
TUBER C http://www.duote.com/soft/392.html
Turbo C 2.0 汉化版 http://www.programfan.com/showdown.asp?id=306
C-Free 4.0 http:/ ......
Google Android开发博客今天宣布,即日起开放针对Android平台的原生软件开发SDK下载。由于在SDK前面又加上了原生二字,即Native Development Kit,因此又被Google称为NDK。在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生 SDK的公布可以让开发者更加直接的接触Android系统资源, ......
Google Android开发博客今天宣布,即日起开放针对Android平台的原生软件开发SDK下载。由于在SDK前面又加上了原生二字,即Native Development Kit,因此又被Google称为NDK。在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生 SDK的公布可以让开发者更加直接的接触Android系统资源, ......