1.内联驱动
昨天看到Erlang程序设计的第12章内联驱动部分,书中提供的驱动示例无论如何编译不过去,语法错误,Mingw和VC都不行,困扰了很久,而它们的输出也没啥帮助;
今天查看预处理生成的代码,发现有个类型没有声明也没定义,才发现书中示例的源码包中的头文件是Erlang提供的,但是老版本的,后来换成新版就好了,而且之需要设定包含目录,无需设置库路径,非常简单。
当然,port方式更简单,因为是erlang跟独立进程通过标准输入(管道?)输入通信,所以连头文件都省了,是我见过的最简单的扩展方式;使用被普遍支持的标准途径(如各种协议)就是方便。
2.比特语法
看书不够深入,没有很多练习,对这方面了解不够,后来自己写代码片段总是报错,研究了好久,才总结出一点经验:每一项分为值和存储两部分,值就不说了,存储部分的位序和符号标记影响存储方式,单元宽度、类型和单元数影响位宽;
位宽是我一直没弄明白的,现在看来,要先看类型,再看单元尺寸(宽度)和数量,因为类型影响后两者的默认值,例如,如果完全没有存储部分,那么默认类型是整型,那么单元尺寸为8(位),单元数为1,就是1字节,如果类型是binary,那么单元尺寸默认为1,单元数默认为8,也是1字节;
另外Erlang程序设计中似乎没有出现unit的用法,在其他书中看到是”unit:NUMBER“的形式。
阅读(994) | 评论(0) | 转发(0) |