摘要: 1、修改环境变量 在系统属性-高级-环境变量-用户变量中: 编辑PATH增加cl编译器的路径D:\Program Files\Microsoft Visual Studio 10.0\VC\bin, 以及MSPDB60.DLL的路径D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE,用分号分隔。新建变量INCLUDE:D:\Program Files\Microsoft Visual Studio 10.0\VC\include 新建变量LIB:D:\Program Files\Microsoft Visual Studio 10 阅读全文
posted @ 2014-03-22 23:50 菜鸟天空 阅读(1025) 评论(0) 推荐(0) 编辑
摘要: 先看下面一段代码输出什么:#includeint main(){ int *p=NULL; printf("%s",p);}输出 ,单步调试可以看出执行int *p=NULL,p的值为0x00000000,可以看出,NULL在实际底层调用中就是0,在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值对于字符串的结尾,使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值在不同的系统中,NULL并非总是和0等同,NULL仅仅代表空值,也就是指向一个不被使用的地址,在大 阅读全文
posted @ 2014-03-22 22:45 菜鸟天空 阅读(1635) 评论(0) 推荐(0) 编辑
摘要: 作者: Hoyt Luo Linux从2.2开始支持PF_NETLINK域的通讯方式,这个方式主要的用途是在Linux的内核空间和用户空间进行通讯。目前在网络上面关于netlink编程的中文资料很少,为了促进对netlink编程的理解我编写了这篇文章,由于我对netlink的了解不是很透彻,特别是对于内核部分不是很熟悉,所以文章中肯定有很多错误的地方还请大家指正。文章分下面几个部分进行讲述记录netlink 基础知识nlmsghdr 结构介绍解析nlmsghdr数据sockaddr_nl 结构介绍NETLINK_ROUTE 协议介绍NETLINK_SKIP 协议介绍NETLINK_USERSO 阅读全文
posted @ 2014-03-22 21:21 菜鸟天空 阅读(1305) 评论(0) 推荐(0) 编辑
摘要: 狮子让一只豹子管理10只狼,并给他们分发食物。豹子领到肉之后,把肉平均分成了11份,自己要了一份,其他给了10只狼。这10只狼都感觉自己分的少,合起伙来跟豹子唱对台戏。虽然一只狼打不过豹子,但10只狼豹子却没法应付了。 豹子灰溜溜的找狮子辞职。狮子说,看我的。 狮子把肉分成了11份,大小不一,自己先挑了最大的一份,然后傲然对其他狼说:你们自己讨论这些肉怎么分。为了争夺到大点的肉,狼群沸腾了,恶狠狠的互相攻击,全然不顾自己连平均的那点肉都没拿到。豹子钦佩的问狮子,这是什么办法?狮子微微一笑,听说过人类的绩效工资吗?...... 第二天,狮子依然把肉分成11块,自己却挑走了2块,然后傲然对其他狼. 阅读全文
posted @ 2014-03-22 20:56 菜鸟天空 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 在linux/netlink.h中定义了一些方便对消息进行处理的宏,这些宏包括:#define NLMSG_ALIGNTO 4 #define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )宏NLMSG_ALIGN(len)用于得到不小于len且字节对齐的最小数值。#define NLMSG_LENGTH(len) ((len)+NLMSG_ALIGN(sizeof(struct nlmsghdr)))宏NLMSG_LENGTH(len)用于计算数据部分长度为len时实际的消息长度。它一般用于分配消息缓 阅读全文
posted @ 2014-03-22 14:56 菜鸟天空 阅读(473) 评论(0) 推荐(0) 编辑
摘要: paramiko模块实例。paramiko模块安装参考另一篇博文:http://blog.csdn.net/wangyuling1234567890/article/details/21654013#!/usr/bin/python import paramikoserver_ip = '192.168.*.*'server_user = 'your_user'server_passwd = 'your_password'server_port = 22def ssh_connect(): ssh = paramiko.SSHClient() s 阅读全文
posted @ 2014-03-20 23:37 菜鸟天空 阅读(1616) 评论(0) 推荐(0) 编辑
摘要: 今天抽时间倒腾了一下ST,发现当前的ST工程只能在linux下运行,但部门的人都不怎么会使用ST来保障代码质量。于是就想移植到windows下使用,首先就牵涉到了windows上远程执行命令及收集执行结果,脚本自动上传,日志自动下载等功能。这就要使用到ssh服务,所以就学习了一下windows下python的ssh功能的使用。Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH。所以我们需要先安装pycrypto工具,然后再安装paramiko模块才能使用。首先要确保py 阅读全文
posted @ 2014-03-20 23:14 菜鸟天空 阅读(6039) 评论(0) 推荐(0) 编辑
摘要: 由于CPU要处理中断,而且中断都要求尽快执行结束,所以对于大量的程序处理都会放到下半部去执行。常用的下半部有:软中断、任务队列、工作队列等。其中工作队列是一个比较好用,也比较常用的方法。工作队列使用时我觉得一般会有以下几部分来共同使用。struct workqueue_struct my_wq; //工作队列,用于通知工作者工作struct work_struct my_work; //工作者,用于处理具体的工作任务struct list_head my_list; //任务链表,用于存放工作任务spinlock_t my_spin_lock; ... 阅读全文
posted @ 2014-03-19 23:38 菜鸟天空 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 今天太累了,明天再写吧。。。 阅读全文
posted @ 2014-03-19 22:48 菜鸟天空 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 今天在看用户态与内核态通信相关东西时,发现了关于netlint两篇不错的文章,借过来整理一下,以供学习之用。学习时建议使用sourceinsight打开两个工程,一个linux内核代码,另一个工程中把下面链接中代码复制到文件中,放到工程中。Linux下netlink通信的实例代码 :http://blog.csdn.net/love_life2011/article/details/75961901 进程间通信简介Linux中的进程间通信机制源自于Unix平台上的进程通信机制。Unix的两大分支AT&T Unix和BSD Unix在进程通信实现机制上的各有所不同,前者形成了运行在单个计 阅读全文
posted @ 2014-03-19 22:30 菜鸟天空 阅读(1417) 评论(0) 推荐(0) 编辑