`
t225com
  • 浏览: 660282 次
文章分类
社区版块
存档分类
最新评论

PHP扩展参数定义结构和操作详解

 
阅读更多

结构体


操作这个结构的宏:



随便找一段参数定义代码:


那么这段代码,经过上面宏替换之后就变成了,注意,在宏里面#表示把后面的代码字符串化:


好了,现在写段C代码来测试下吧。一下代码测试环境WIN7 64bit professional +VS2010 ultimate:


在中断处截图看一下,发现:



看到了吧,字符串和字符串长度都有的。


遗忘的C语言细节:

1.#define XXXXX(a,) #a 即表示 把a表现为字符串。 XXXXXX(shyandsy) ==== "shyandsy"

2.sizeof()可以计算字符串长度。结果是字符个数+1,因为有\0结尾。

sizeof("shyandsy")-1 = 8


分享到:
评论

相关推荐

    Thinkphp 框架扩展之类库扩展操作详解

    ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的。只要按照规范定义,都可以实现自动加载。 公共类库 公共类库通常是指ThinkPHP/Library目录下面的类库,例如: Think目录:系统核心...

    PHP安装protobuf详解

    Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说...在此主要说明一下支持RPC的phpbuf作为PHP和后端接口通信的接口协议定义。 官方介绍: https://github.com/nowelium/phpbuf

    php网络开发完全手册

    6.1 PHP中目录操作详解 91 6.1.1 打开目录 91 6.1.2 关闭目录 91 6.1.3 读取目录中的文件 92 6.1.4 创建目录 92 6.1.5 删除目录 93 6.2 PHP中文件操作详解 93 6.2.1 打开文件 93 6.2.2 关闭文件 94 6.2.3 读取文件 ...

    如何用C语言编写PHP扩展的详解

    1:预定义在home目录,也可以其他任意目录,写一个文件,例如caleng_module.def内容是你希望定义的函数名以及参数:int a(int x,int y)string b(string str,int n)2:到php源码目录的ext目录#cd /usr/local/...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    (全)传智播客PHP就业班视频完整课程

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    ThinkPHP应用模式扩展详解

    每个应用模式都有自己的模式定义文件,相对于ThinkPHP3.1版本,ThinkPHP3.2版本对应用模式的扩展更加明确和清晰,在ThinkPHP3.1版本中定义了Cli、Lite、Thin、AMF、PHPRPC、REST模式,其定义方式和ThinkPHP3.2版本的...

    PHP设计模式之工厂模式定义与用法详解

    本文实例讲述了PHP设计模式之工厂模式定义与用法。分享给大家供大家参考,具体如下: 工厂模式(Factory Design Pattern)作为一种创建型设计模式, 遵循了开放-封闭原则, 对修改封闭, 对扩展开放. 工厂方法(Factory ...

    ThinkPHP行为扩展Behavior应用实例详解

    本文以实例的形式详细介绍了ThinkPHP的行为扩展Behavior的实现方法,有助于读者更灵活的掌握ThinkPHP的开发,具体步骤如下: ThinkPHP 行为扩展 ...// 行为扩展定义 'tags' => array( 'app_init' => array( ), 'ap

    史上最全传智播客PHP就业班视频课,8月份视频

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    PHP 魔术变量和魔术函数详解

    不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。 例如 __LINE__ 的值就依赖于...

    详解linux正则表达式(基础正则表达式+扩展正则表达式)

    简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法。通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤、替换或者输出需要的字符串。linux正则表达式一般以行为单位处理的。 2、为什么要学...

    PHP学习记录之常用的魔术常量详解

    PHP 向它运行的任何脚本提供了大量的预定义常量,不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。有八个魔术常量它们的值随着它们在代码中...

    php实现设计模式中的单例模式详解

    Singleton定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类方法。负责创建它的唯一的实例。 【优缺点】 1、对唯一实例的受控访问 2、缩小命名空间 单例模式是对全局变量的一种改进。它避免了那些...

    CI框架学习概要总结

    6.CI框架学习-实例操作添加栏目如何定义使用模型以及配置数据库与利用AR增 7.CI框架学习-实例操作利用AR类对栏目进行查、删、改动作 8.CI框架学习-实例操作发表文章 9.CI框架学习-实例操作发表文章之CI框架文件上传...

    PHP用PDO如何封装简单易用的DB类详解

    PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用。 ...

    详解PHP中的8个魔术常量

    不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。 例如 __LINE__ 的值就依赖于...

    PHP设计模式之装饰器模式实例详解

    装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 UML类图: 角色: 组件对象的接口:可以给这些对象动态的添加职责 所有装饰...

Global site tag (gtag.js) - Google Analytics