常见的用于搭建Web服务器的软件有Apache、Perl、PHP、mysql等,其中Perl的编译选项最简单:
sh Configure -des
常见的用于搭建Web服务器的软件有Apache、Perl、PHP、mysql等,其中Perl的编译选项最简单:
sh Configure -des
bool isBigEnding(){
int i = 1;
return ((char)i) == 1;
}
bool isBigEnding(){
union {
int i;
char c;
}x={1};
return x.c == 1;
}

bool isBigEnding{
union {
int i ;
struct {
unsigned short int b : 8;
}bit;
}x={1};
return x.bit.b == 1;
}
写这篇文章是为了方便自己,也同时为了方便他人。
目前的开源软件盛行,很多的README文档都是以英文的形式出现,很多懒人不愿意去读此类的文章,所以遇到问题也不会知道怎么去解决。
在这之前,《linux宝库》的站长陈绪先生的《linux一句话》已经概括得很经典,而我追求的是linux中的FAQ形式,只要你有心,没有解决不了的问题。
如果你对太多的 A、Q 不知所措,可以Ctrl+F查找你所需要的问题。
连接到ITUNES,然后就弹出说“此iphone不能使用,因为'apple mobile device'服务没有启动
把防火墙打开,在详细设置里的高级设置里面找到apple mobile device,然后把禁止项改过来,接下来在控制面板上,选择“管理”,然后选择“服务和应用程序”中的“服务”,找到“apple mobile device”,右键选属性,把禁止改为启动就可以了。
由 buildconf 处理的配置文件 config.m4 包含了所有在配置过程中所执行的指令。这些指令诸如包含测试包含所需的外部文件,像头文件、库文件等等。PHP 定义了一系列处理这类情况的宏,其中最常用的已经在下表中列了出来。。
| 宏 | 说明 |
|---|---|
| AC_MSG_CHECKING(message) | 在执行 configure 命令时输出“checking <message>”等信息。 |
| AC_MSG_RESULT(value) | 取得 AC_MSG_CHECKING 的执行结果,一般情况下 value 应为 yes 或 no。 |
| AC_MSG_ERROR(message) | 在执行 configure 命令时输出一条错误消息 message 并中止脚本的执行。 |
| AC_DEFINE(name,value,description) | 向 php_config.h 添加一行定义:
#define name value // description (这对模块的条件编译很有用。) |
| AC_ADD_INCLUDE(path) | 添加一条编译器的包含路径,比如用于模块需要为头文件添加搜索路径。 |
| AC_ADD_LIBRARY_WITH_PATH (libraryname,librarypath) | 指定一个库的连接路径。 |
| AC_ARG_WITH(modulename,description, unconditionaltest,conditionaltest) | 这是一款比较强大的宏,用于将模块的描述 description 添加到“configure -help”命令的输出里面。PHP 会检查当前执行的 configure 脚本里面有没有-with-<modulename> 这个选项。 如果有则执行 unconditionaltest 语句(比如 -with-myext=yes 等), 此时,选项的值会被包含在 $withval 变量里面。否则就执行 conditionaltest 语句。 |
| PHP_EXTENSION(modulename, [shared]) | 这个是配置你的扩展时 PHP 必定调用的一个宏。你可以在模块名后面提供第二个参数,用来表明是否将其编译为动态共享模块。这会导致在编译时为你的源码提供一个 COMPILE_DL_<modulename> 的定义。 |
下面是一些引入到 Zend API 里面用于访问 zval 容器的 API 宏。
| 宏 | 指向 |
|---|---|
| Z_LVAL(zval) | (zval).value.lval |
| Z_DVAL(zval) | (zval).value.dval |
| Z_STRVAL(zval) | (zval).value.str.val |
| Z_STRLEN(zval) | (zval).value.str.len |
| Z_ARRVAL(zval) | (zval).value.ht |
| Z_LVAL_P(zval) | (*zval).value.lval |
| Z_DVAL_P(zval) | (*zval).value.dval |
| Z_STRVAL_P(zval_p) | (*zval).value.str.val |
| Z_STRLEN_P(zval_p) | (*zval).value.str.len |
| Z_ARRVAL_P(zval_p) | (*zval).value.ht |
| Z_LVAL_PP(zval_pp) | (**zval).value.lval |
| Z_DVAL_PP(zval_pp) | (**zval).value.dval |
| Z_STRVAL_PP(zval_pp) | (**zval).value.str.val |
| Z_STRLEN_PP(zval_pp) | (**zval).value.str.len |
| Z_ARRVAL_PP(zval_pp) | (**zval).value.ht |
原文:http://www.yanbin.org/php-manual-zh-api-macros/