自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 C语言中如何使用通用双向链表

通用双向链表,指的是通过一个通用的数据结构,然后添加特定数据形成有具体用途的链表。这主要涉及到代码复用,在C++中实现非常方便,只需要定义一个双向链表的类,每一个具体业务只需要继承它,然后添加自己的数据成员即可。但有时候我们需要用C语言而不是C++,那么该如何实现这种层次关系呢?首先我们来看两个宏。第一个是offsetof(可参考Linux内核代码include/linux/Stddef.h):

2017-07-04 23:32:58 1030

原创 联合体的存放顺序问题

C语言中的联合体是有固定存放顺序的,一定是从低地址开始存放数据,在小端系统中,和系统是一致的,但到了大端系统,就和系统相反了。因此对联合体的运用,最保险的办法是严格定义联合体变量,而不是贪图方便,直接用基本类型变量代替,这样当跨平台时才能尽量避免错误。比如以下的代码,在x86、mips上都是没问题的:semctl(id, 0, SETVAL, 1)但是在PowerPC上,他就会

2017-06-30 17:53:18 1804 6

原创 查找错误千万要拓展思维!

继续在PowerPC下编译php-5.5.20,带MySQL支持,configure时出现以下错误:configure: error: mysql configure failed ...仔细检查MySQL文件格式,重新编译MySQL,无果。网上搜索,有人说版本不匹配,有人说应该用--with-mysql-dir参数。因有其他平台版本在运行,确认版本应该没问题,参数这么改倒是通过了,但我仔

2017-05-19 16:25:30 275

原创 一个configure的疑难杂症

交叉编译PowerPC下的Linux(2.6.32)的MySQL++,遇到十分苦恼之事:configure总报告MySQL client库无法链接,无奈之下注释掉那段判断代码,编译通过。然而这段代码还是没懂,为何会报错?注释掉有何影响?希望有内行人跟我讲解一下:

2017-05-19 16:22:08 305

原创 如何向Quagga(或zebra)添加自定义命令

如何向Quagga(或zebra)添加自定义命令,使用其作为系统命令接口。

2017-04-12 11:47:40 1605

原创 过滤驱动开发笔记(5)

驱动程序是内核程序,通常的一个错误,都可能立即招致蓝屏。很快我也遇到了。由于调试困难,就想用日志来跟踪,但是写完保存文件的程序后,一调用马上蓝屏。改代码、查资料,发现可能跟IRQL有关:ZwCreateFile只能在IRQL为PASSIVE_LEVEL调用,而我调用的地方IRQL是DISPATCH_LEVEL。改用线程方式,文件出来了。高兴没多久,蓝屏再次出现,但现在没那么频繁。于是采

2010-01-20 17:53:00 517

原创 一个算法的C实现

昨天看到这么个题目,刚好比较闲,于是就用C实现了,并在Redhat Linux 8.0下编译运行通过: 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日  3月5日  3月8日 6月4日  6月7日 9月1日  9月5日 12月1日  12月2日  12月

2010-01-16 09:18:00 375

原创 过滤驱动开发笔记(4)

资料看差不多了,开始动手改造Passthru。发布的软件不能还叫Passthru吧,首先要改名。有几个地方需要动的:1.编译目标文件,在sources文件中定义,改掉TARGETNAME即可。2.目标文件变了,安装也要变,于是修改netsf.inf和netsf_m.inf,把Passthru全部改掉。3.应用层调用也要改改,这就涉及到程序了,在passthru.c中进行修改。编

2010-01-13 11:21:00 669

原创 过滤驱动开发笔记(3)

ProtocolReceivePacket这个函数花了不少时间研究,部分资料中提到这个函数可实现多包接收,但我认为它仅仅是可以接收完整数据包而已。理由有:1.它的参数是PNDIS_PACKET,即单个数据包,而这个结构并没有链表的特征。发送多个数据包的函数MiniportSendPackets,不仅函数名带复数,参数也是PPNDIS_PACKET,明显是一个数据包数组。从开发风格的同一性来看,

2010-01-12 15:16:00 612

原创 过滤驱动开发笔记(2)

NDIS确实挺复杂,找到了一篇比较完整的资料,也收集了别人的一些心得。虽然算是有些了解,但该怎么做,还是一头雾水。后来终于知道,原来Windows 2003 DDK有一套源代码叫Passthru,已经把框架搭好了。刚开始有个概念一直搞不清楚:底层面向连接和面向无连接。但是很多实际经验的文章都没提到这个差别,Passthru中也没有实现DDK帮助中提到的面向连接的函数。现在明白了,以太网、FDD

2010-01-12 14:50:00 534

原创 过滤驱动开发笔记(1)

最近开始研究数据包的过滤了。我接手的是用filter-hook方式开发的一套程序,但是逐渐发现了问题。首先是某些防火墙,比如金山防火墙就跟这套程序有冲突,多数情况下过滤会失效,后来确定是因为filter-hook的机制问题:以独占方式注册回调函数,难怪;接着Windows Vista发布了,发现程序又挂掉了,想过好几个原因,比如数字签名,比如驱动打开权限不够,都否决了,最后google发现,Vis

2010-01-07 10:49:00 415

CTP行情和交易范例

CTP行情和交易范例,来自官方,很简单的一个例子,可以用VC 6.0以上的任何版本打开

2015-07-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除