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
(当然,为了保证上面的命令行能正常运行,首先你
相关文档:
接口(interface)是抽象方法和静态常量定义的集合。
接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。
接口中没有其它类型的内容。
接口的定义
我们先写接口的定义,后面几节再介绍接口的意义。
下面的例子是接口的一个简单写法。
<?php
interface 接口名
{
}
?>
下面的例子定义了一个接 ......
PHP是弱类型语言,向方法传递参数时候也不太区分类型。这样的使用会引起很多的问题,PHP开发者认为,这些问题应该是由代码书写者在书写代码时进行检验以避免。没有类型提示很危险。
<?php
class NormalUser
{
/*
* 其它相关代码..省略........
*/
private $age;
public function setAge($_age) {
$this- ......
多态这个概念,在Java中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。在PHP5中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说PHP5中多态的是变量。
我们只能说在PHP5中,多态应用在方法参数的类型提示位置。
一 ......
Java 2 C++ http://www.javaeye.com/topic/295776
1. 解决性能问题
Java具有平台无关性,这使人们在开发企业级应用的时候总是把它作为主要候选方案之一,但是性能方面的因素又大大削弱了它的竞争力。为此,提高Java的性能就显得十分重要。Sun公司及Java的支持者们为提高Java的运行速度已经做出了许多努力,其中大多数集中 ......