摘要: java中采用import的方式导入.class文件,.class文件中包含类的方法、属性等的定义,因此不在需要.h头文件,而c或c++编译后的二进制代码不包含函数和类的信息,为了在编译时进行函数格式合法性检查,采用.h的文件给出。 java提供给用户的是.class文件,虽然包含类的完整信息,但是对于开发者“不可读”,因此还需要以文档的方式提供类的声明。 参考: [1] http://lando... 阅读全文
posted @ 2012-06-01 11:20 sky-zhang 阅读(6978) 评论(0) 推荐(1) 编辑
摘要: fneq ($(KERNELRELEASE),) obj-m := timer.oelse all: make -C /lib/modules/3.0.8/build M=$(shell pwd) modules.PHONY:cleanclean: rm -rf *.mod.c *.o *.ko *.symvers *.order endif 红色的部分替换成对应的文件名 例如: 当要编译的... 阅读全文
posted @ 2012-05-31 14:54 sky-zhang 阅读(5430) 评论(0) 推荐(0) 编辑
摘要: 相关代码(函数名print_encapsule.c): #include <stdio.h> #define DPRINT(fmt,args...) \ printf("%s-%s-%d:"fmt,__FILE__,__func__,__LINE__,args)#define TESTA(a,b) a##b#define TESTB(str) #str int main(){ int x=1... 阅读全文
posted @ 2012-05-31 10:45 sky-zhang 阅读(1395) 评论(1) 推荐(0) 编辑
摘要: 示例代码(文件compile_macro_test.c): #include <stdio.h> int main(){ int a = 0;#ifdef DBUG a = 5;#endif printf("=========%d\n",a); return 0;} 对应Makefile文件 all:a.outdebug:b.out mv b.out a.out a.out:... 阅读全文
posted @ 2012-05-31 10:23 sky-zhang 阅读(3502) 评论(1) 推荐(0) 编辑
摘要: 采用最小二乘法对获取的坐标X,Y时间序列进行回归拟合。 对于X时间序列(xi,ti):xi=b0+b1*ti+b2*ti^2+...+bm*ti^m,可得如下等式 A*B=Y----------(1) 其中,(带t的表示矩阵的转置) 矩阵B为拟合后要求解的系数矩阵(b0 b1 b2 ... bn)t 矩阵A为 1 t0 t0^2 .... t0^m 1 t1 t1^2 .... t1^m .... 阅读全文
posted @ 2012-05-30 14:43 sky-zhang 阅读(1513) 评论(0) 推荐(0) 编辑
摘要: 实验内核版本3.0.8 一个简单的kset测试代码 #include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include <linux/kobject.h> MODULE_LICENSE("Dual BSD/GPL"); /* * struct kset { * struct subsystem ... 阅读全文
posted @ 2012-05-28 16:26 sky-zhang 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 尽管采用C语言实现,但Linux设计实现中很多地方都体现着面向对象的思想。Kobject可以看做是Linux设备对象的基类,单独的Kobject没有太多的意义,它只有嵌入到对象结构体中才流光四射。它的一般用法如下: struct my_obj { struct kobject; ……./* 其他自定义结构体成员*/ }; Kobject的一个重要作用是对象生命周期管理。只有在对象引用计数为0... 阅读全文
posted @ 2012-05-25 16:54 sky-zhang 阅读(356) 评论(0) 推荐(0) 编辑