摘要: 1.什么是wpa_spplicantwpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。2.wpa_supplicant无线网络配置 目 阅读全文
posted @ 2014-01-10 16:24 Fight_4_ever 阅读(1274) 评论(0) 推荐(1) 编辑
摘要: wpa_supplicant -Dwext -ieth1 -c/etc/wpa_supplicant.conf &wpa_cli save_configwpa_cli reconfigurewpa_cli list_networkswpa_cli statuswpa_cli remove_network 0wpa_cli -ieth1 scan //搜索无线网wpa_cli -ieth1 scan_results //显示搜索结果wpa_cli -ieth1 add_network例如:wpa_cli -ieth1 add_networkwpa_cli -ieth1 set_netwo 阅读全文
posted @ 2014-01-10 16:02 Fight_4_ever 阅读(1463) 评论(0) 推荐(0) 编辑
摘要: #include#include char * read(FILE *fp) /*注意这里,将fp文件中的剩余部分读取到一个字符数组中,并返回数组地址*/{ char c,*t=NULL; int i=0; t=malloc(sizeof(char)); while ((c=fgetc(fp))!=EOF) { t[i++]=c; t=realloc(t,sizeof(char)*(i+1)); } if (i) t[i]='\0'; else { free(t); t=NULL; } return t;}void write(FILE *fp,const char... 阅读全文
posted @ 2014-01-09 10:52 Fight_4_ever 阅读(612) 评论(0) 推荐(0) 编辑
摘要: From: http://hi.baidu.com/aberlee/blog/item/acb0a3d3ca0f64d9a9ec9af0.html还在搞8634,看不到头了。。唉。wireless_tools的缺点是不支持WPA认证,所以有必要把wpa_supplicant也移植过来。无线 网卡是基于zydas芯片的,正好可以在网上搜到wpa_supplicant的zydas专用包:wpa_supplicant- 0.4.7_zydas_pre3.tar.gz 移植很简单,解包直接修改Makefile,把CC改成mipsel-linux-gcc,然后编译直接通过。编译完成后可以发现有几个可执行 阅读全文
posted @ 2014-01-08 16:10 Fight_4_ever 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 为什么要进行CGI编程?在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么。没有了CGI,WEB的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈。有的人认为可以用JavaScript来代替CGI程序,这其实是一个概念上的错误。JavaScript只能够在客户浏览器中运行,而CGI却是工作在服务器上的。他们所做的工作有一些交集,比如表单数据验证一类的,但是JavaScript是绝对无法取代CG 阅读全文
posted @ 2014-01-06 12:57 Fight_4_ever 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 在很多嵌入式系统中,由于可用资源较少,常常在系统启动后就直接让应用程序自动启动,以减少用户操作和节省资源。如何让自己的应用程序自动启动呢?在Linux系统中,配置应用程序自动启动的方法有以下三种:1.通过/Linuxrc脚本直接启动Linux内核一旦开始执行,它将通过驱动程序来初始化所有硬件设备,这个初始化过程可以在启动时的PC显示器上看到,每个驱动程序都打印一些相关信息。初始化完成后,通常调用的是init,通过loader调用init内的init=/app_program语句(通过loader向核心传入init=/program可以定制首先运行的程序)。比如在桌面Linux系统中,init进 阅读全文
posted @ 2013-12-23 09:50 Fight_4_ever 阅读(8888) 评论(0) 推荐(0) 编辑
摘要: 1.某机要部门安装了电子锁。M个工作人员每人发一张磁卡,卡上有开锁的密码特征。为了确保安全,规定至少要有N个人同时使用各自的磁卡才能将锁打开。问电子锁上至 少要有多少种特征? 每个人的磁卡上至少要有多少特征? 如果特征的编号以小写英文字母表示,将每个人的磁卡的特征编号打印出来,要求输出的电子锁的总特征数最少。设 3 0), 每件物品价值为 V1,......VN (Vi>0)。用这N件物品的某个子集填空背包,使得所取物品的总重量0,b>0,a+b=1 (详见下图),数组 C 的面积 A=S[1]+S[2]+...+S[N-1].编程要求如下:从键盘输入 N, 再输入两个具有 N 个 阅读全文
posted @ 2013-12-10 15:28 Fight_4_ever 阅读(1952) 评论(0) 推荐(0) 编辑
摘要: fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别:1. fork ():子进程拷贝父进程的数据段,代码段 vfork( ):子进程与父进程共享数据段2. fork ()父子进程的执行次序不确定 vfork 保证子进程先运行,在调用exec 或exit 之前与父进程数据是共享的,在它调用exec 或exit 之后父进程才可能被调度运行。3. vfork ()保证子进程先运行,在她调用exec 或exit 之后父进程才可能被调度运行。如果在 调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。下面通过几个例子加以说明:第一:子进程拷贝父进程的代码段的 阅读全文
posted @ 2013-12-02 16:26 Fight_4_ever 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 本例工程,实现几种排序算法的具体代码实现和性能比较。工程结构如下:sort|-- Makefile|-- Makefile.rule|-- main| |-- Makefile| |-- include| | |-- heap_sort.h| | |-- quick_sort.h| | `-- shell_sort.h| |-- libs| `-- src| `-- sort.c|-- heap_sort| |-- Makefile| |-- include| `-- src| `-- heap_sort.c|-- quick_sort| |-- Makefile| |-- include| 阅读全文
posted @ 2013-11-26 15:50 Fight_4_ever 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 系统调用exec 和fork()联合起来为程序员提供了强有力的功能。我们可以先用fork()建立子进程,然后在子进程中使用exec,这样就实现了父进程运行一个与其不同的子进程,并且父进程不会被覆盖。 下面我们给出一个exec 和fork()联用的例子,从中我们可以清楚的了解这两个系统调用联用的细节。其程序清单如下: 1 #include 2 #include 3 main() 4 { 5 int pid; 6 /* fork 子进程 */ 7 pid=fork(); 8 switch(pid) { 9 case -1:10 perror("fork failed");11 阅读全文
posted @ 2013-11-21 10:27 Fight_4_ever 阅读(607) 评论(0) 推荐(0) 编辑