Home mail me! Syndicate this site using RSS

Archive for TAG: C/C++

[老文章 ]使用VC++开发PHP扩展注意事项

一、默认情况下,C++是使用.cpp作为扩展名的,而PHP是用C写的,因此必须使用C++提供的C连接交换指定符号extern “C”来解决这个问题,以下两部分语句必须被包含:

extern "C" {
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
... // 其他C头文件
}

extern "C" {
#ifdef COMPILE_DL_MYEXT
ZEND_GET_MODULE(myext)
#endif
}

Read more…

No Comments »

[老文章]从PHP源代码修改phpinfo中的LOGO及彩蛋

1. 大家先来看一段PHP代码(gif2h.php):

< ?php
// 将GIF转换为C语言中的H文件
$filename = "mylogo.gif";
$fp = f open($filename, "rb");
$buffer = f read($fp, filesize($filename));
f close($fp);
$len = strlen($buffer);
$fp = f open("mylogo.h", "wb");
f write($fp, "unsigned char php_logo[] = {");
for ($i=0; $i<=$len; $i++) {
	if($i % 10 == 0) {
		f write($fp, "\n\t\t");
	}
	if($i == $len) {
		$str = str_pad(ord(substr($buffer, $i, 1)), 3, " ", STR_PAD_LEFT);
	} else {
		$str = str_pad(ord(substr($buffer, $i, 1)), 3, " ", STR_PAD_LEFT) . ", ";
	}
	f write($fp, $str);
}
f write($fp, " };\n");
f close($fp);
?>

上述代码的作用就是将一张GIF图片文件转换为C语言中的头文件(.h)。
Read more…

No Comments »

Timer on Windows and Linux

1. Timer on Windows

Timer on Windows
Read more…

No Comments »