- 博客(53)
- 资源 (2)
- 收藏
- 关注
原创 OpenWRT 修改LuCI:语言、主题
前阵子自己在Ubuntu中编译了一个OpenWRT系统,并将.bin固件刷入到了WR703n中;但是,当时编译固件时,没有设置LuCI,全部都是默认值。当将固件刷入后,登陆Web界面配置路由器时,发现界面不美观、并且是英文的。 前天,公司同事告知,其实可以将LuCI语言和主题设成中文和不同的主题,说重新编译固件即可。我在网上查了一下资料,确实可行;但是总觉得挺麻烦的。不就是配置一
2013-12-23 12:35:57 14031
原创 MySQL存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以
2013-11-30 10:39:17 1147
原创 抓包工具Wireshark使用体会
这两天在工作上遇到了一些问题,必须要用抓包工具来捕获手机端发送过来的数据包,分析其帧结构。以前虽然学习过网络知识,但是也从未接触过抓包工具Wireshark;迫于工作的压力,自己在摸索中学到了一些基本的使用方法。文件格式:.pcap帧排序:默认是按照“No”排序的,我们点击不同的属性列,即可按该列排序,从而我们可以方便找出自己需要的数据;数据帧结构:头部+数据部分查看帧类型:typ
2013-11-26 20:24:13 1994
原创 MySQL之常用C API详述
一、C API数据类型MYSQL:该结构代表1个数据库连接的句柄。不应尝试拷贝MYSQL结构。不保证这类拷贝结果会有用。 MYSQL_RES: 该结构代表返回行的查询结果(SELECT, SHOW, DESCRIBE, EXPLAIN)。MYSQL_ROW:这是1行数据的“类型安全”表示。行是通过调用mysql_fetch_row()获得的。它目前是按照计数字节字符串的数组实施的。
2013-11-23 20:32:54 1393
原创 MySQL之初学者必须掌握的基础
一、连接mysql。格式: mysql -h主机地址 -u用户名 -p用户密码1、 例1:连接到本机上的mysql。首先在打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示你输密码,如果刚安装好mysql,超级用户root是没有密码的, 故直接回车即可进入到mysql中了,mysql的提示符是:mysql>2、 例2:连接
2013-11-23 19:14:27 1841
原创 C/C++文件操作,数据处理
这几天工作的过程中,常常要对TXT中的数据进行处理、分析。以前在学校时,对文件操作、文件内容处理的这部分知识用的不是很多,这几天用这些知识的时候,总是不太熟悉,要不停查阅资料。因此,这里总结一下,方便后期查阅。(1)FILE(2)fopen(3)getline(4)fgetc(5)(6)fscanf(7)sscanffscanf是从文件中读sscan
2013-11-17 15:10:07 3360
原创 内核的概念
首先,我们要知道的是,内核是软件,而不是硬件,更不是我们通常所说的CPU。 内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。 内核,是一个操作系统的核心,是基于硬件的
2013-11-09 11:35:51 2417
原创 python操作处理Excel文件
(1)Python将数据库数据导入到EXCEL:http://www.verydemo.com/demo_c122_i6581.html
2013-11-08 13:16:25 1150
原创 python模块安装:numpy、pylab
今天在编写python脚本时,要用到一些常用的模块:numpy、pylab。这里大概记录一下大致的安装方法和需要的软件包。(1)numpy-1.6.1-win32-superpack-python2.7.exe(2)matplotlib-1.3.0.win32-py2.7.exe(3)pyparsing-2.0.1.win32-py2.7.exe(4)scipy-0.9.0-win
2013-11-08 12:44:36 6579
原创 Linux网络编程(4):select函数
参考资料: http://blog.csdn.net/zhw888888/article/details/4034515 在学习select函数之前,我觉得有必要先了解一下什么是:阻塞、非阻塞,同步、异步等概念。可以参考前面的文章:同步、异步、互斥、信号量、阻塞、非阻塞(http://blog.csdn.net/look595271601/article/details
2013-11-07 22:03:09 716
原创 同步、异步、互斥、信号量、阻塞、非阻塞
(1)临界资源 在操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必须资源)。但对于某些资源来说,其在同一时间只能被一个进程所占用。这些一次只能被一个进程所占用的资源就是所谓的临界资源。(2) 相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个
2013-11-07 21:22:05 2174 2
原创 栈:顺序栈和链式栈
前面已经介绍了“链表”,包括顺序链表和链式链表。链表和栈都属于线性表,只是栈是一种特殊的线性表,其“只能够从一端(栈顶)进出”,必须遵循“先进后出”的原则。下面,我们简要学习一下顺序栈和链式栈。(1)顺序栈 与顺序存储的链表一样,顺序栈也是采用“数组”来存储。其数据结构如下:#define MAXSIZE 20typedef int Elemtype;typede
2013-11-03 14:32:05 1316
原创 链表:顺序链表和单链表
在学习线性表之前,必须要清楚“顺序存储的线性表”和“链式存储的线性表”。(1)顺序存储线性表 1、采用数组来存储顺序线性表的各元素。 2、基本结构:#define MAXSIZE 20typedef int Elemtype;typedef struct{ Elemtype data[MAXSIZE]; //采用数组存储线性表
2013-10-27 20:09:54 4211
原创 学习python(1)
参考网站:http://woodpecker.org.cn/abyteofpython_cn/chinese/#!/usr/bin/python# Filename : helloworld.pyprint 'Hello World'让我们思考一下这个程序的前两行。它们被称作 注释 ——任何在#符号右面的内容都是注释。注释主要作为提供给程序读者的笔记。Pyt
2013-10-27 18:33:54 590
原创 Linux网络编程(3):信号处理与定时机制简要学习
(1)信号的概念 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件)。信号是硬件中断的软件模拟(软中断)。每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD、SIGINT等,它们在系统头文件中定义,也可以通过在shell下键入kill –l查看信号列表,或者键入man 7 signal查看更详细的说明。信号的生成来自内核,让内核生成信号的请求来自3个地
2013-10-27 11:44:24 995
原创 Linux TCP多进程并发服务器
TCP多进程并发服务器(模板):pid_t pid;int listenfd, connfd;listenfd = socket(.......);bind(listenfd, .....);listen(listenfd, ....);while(1){ connfd = accept(listenfd, .....); if((pid = fork()) =
2013-10-23 22:01:48 688
原创 Linux之fork函数
fork函数原型:#include#include pid_t fork(void); fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程
2013-10-23 21:27:41 719
原创 Linux网络编程(1):套接字编程简介
这几天借了一本网络编程的经典书籍:《UNIX网络编程(卷一:套接字联网API)》,想着学习一下网络编程。下面的内容主要依靠这本书籍,然后,结合我自己的知识和网络资源,对Linux网络编程做由浅入深的学习。什么是套接字(Socket)? 我自己的理解是:套接字,即端点、端口,是建立在应用层和传输层之间的一个概念。 网络释义:套接字,是支持TCP/I
2013-10-19 16:47:41 820
原创 正则表达式
这几天在查阅资料的过程中,经常遇到关于“正则表达式”的内容,看来这个知识点对于后期的工作很重要。因此,得花一点稍微学习、了解一下了。这里我只学习了一些入门、简单的知识,对“正则表达式”有一个大概的了解。参考网站:http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html 1、什么是
2013-09-28 11:19:24 524
原创 ubuntu安装subversion1.7客户端
From:http://liuriqi.com/?p=75之前在编译openwrt时,出现过了许多问题,其中到一个就是:svn: 路径 '.' 好像是 Subversion 1.7 或更高版本的工作副本。请升级你的 Subversion 客户端,以使用此工作副本。最新Ubuntu的官方源上的svn版本是1.6版本,但是项目用的基本上是1.7版本,导致在命令行下无法操作svn
2013-09-21 12:25:43 1496
原创 win7真机与VMware虚拟机实现文件共享(hgfs方式)
前面一直按照网上提供的方法进行win7与Vmware虚拟机之间的文件共享,尝试遍了所有的方法,都一直无法实现共享,几乎都快要奔溃了。今天,终于在在http://bbs.csdn.net/topics/350258010中看到CSDN大神们的威武了。(1)首先,按照网上提供的最多的方法设置各项文件夹,这里就不多描述了,网上的参考资料很多,只是有一点要强调,在本机上建立的共享文件夹一定要设置成“共
2013-09-21 12:13:48 1438
原创 WR703N OpenWrt 配置流程
下载安装访问WR703N在OpenWrt的Wiki页,然后在Flashing一节中找到下载链接:squashfs-factory.bin,下载后别忘了比对md5。[1]进入路由器管理界面,出厂配置为http://192.168.1.1,用户名和密码均为admin,然后进入固件更新,选择下载的文件,然后更新。等待一段时间(~~2min),然后重启路由。P.S. 官方固
2013-09-20 22:14:04 1918
原创 基于OpenWRT的软件开发流程
近期,已经在公司实习一段时间了。自己也感到很遗憾,以前在学校的时候也一直没有接触过Linux,对嵌入式Linux开发更是不了解,通过前一段时间的以来的体会,我才明白,出来找工作必须要懂得一些基础的Linux知识。这里,我也对这段时间以来所学到的知识做总结。(1)编译OpenWRT 1、搭建编译环境,更新下载所需软件包 sudo a
2013-09-20 17:11:42 2488
原创 win7下,让VMware6.5虚拟机上网
这几天一直在学习Linux的基础知识,在自己的win7系统电脑上装了一个VMware6.5的虚拟机,并装上Ubuntu12.0.4系统,基本的安装都搞定后,但就是上不了网,ubuntu右上角的网络连接显示“已连接”,但就是打不开网页;ping百度、ping 8.8.8.8都无法ping通。网上查一些资料,终于搞定了。1.将虚拟机的网络设置为host-only方式;2.将
2013-09-20 16:37:19 897
转载 OpenCV中的Mat
(一)Mat矩阵中数据指针Mat.data是uchar类型指针,CV_8U系列可以通过计算指针位置快速地定位矩阵中的任意元素。二维单通道元素可以用Mat::at(i, j)访问,i是行序号,j是列序号。但对于多通道的非unsigned char类型矩阵来说,以上方法都不好(注:后来知道可以通过类型转换,用指针访问data数据,见后文)。可以用Mat::ptr()来获得指向某行元素的
2013-09-07 13:00:13 706
原创 OpenCV 2.4.X最常用的数据类型
1、Point_二维: typedefPoint_int>Point2i; typedefPoint2iPoint; typedefPoint_ Point2f; typedefPoint_double> Point2d;Point_或者,旧版:CvPoint CvPoint2D32f 三维: typedef Poi
2013-09-07 12:43:52 1075
原创 debug和release的区别
在我们的VC、VS中,通常含有debug和release两个版本,那么它们之间有什么区别呢?下面简要说一下其区别:(1)DEBUG版本包含调试信息,编译器生成的代码方便调试;(2)RELEASE版本算是发布版本,RELEASE下不能调试,生成的文件更小,编译器生成的程序速度更快。Debug下生成的exe文件在单独运行时需要编译器提供的一些库文件的支持,Release则是不需要。
2013-09-06 14:59:02 597
原创 HTTP协议详解
1、什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。2、Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服
2013-09-06 14:59:00 872
原创 求职
这段时间以来,一直在各大招聘网站投递简历,不停地向各个公司发送应聘消息,也亲自跑了几家软件公司,去了人才市场,所有的这一切都显得很无助。终于,今天上午接到了“威发系统有限公司”的笔试面试电话,于是下午兴致勃勃地敢去应聘。 确实是第一参加这样比较正规的笔试面试,多多少少比较紧张。首先是,由于这阵子投递了简历的公司实在是太多了,自己根本记不住都投递了哪些公司。上午,那边打电话过来,我不好意思问
2013-09-06 14:58:58 567
原创 数组、指针、指针数组、数组指针(…
(1)数组类型到指针类型转换的结果,数组名不再代表数组对象,而是一个代表数组首地址的符号地址,并且不是对象。特别指出的是,数组到指针的转换规则只适用于表达式,只在这种条件下数组名才作为转换的结果代表数组的首地址,而当数组名作为数组对象定义的标识符、初始化器及作为sizeof、&的操作数时,它才代表数组对象本身,并不是地址。这种转换带来一个好处,对于数组内部的指针运算非常有利。我们可以用a +1
2013-09-06 14:58:56 705
原创 (转)“作为函数参数的二维数组”即…
刚才在百度知道看到了这个问题,回答了下,这个问题很好,总结一下。声明一个二维数组int matrix[100][100]; 当把二维数组作为参数传递的时候很多人可能一上来就这样写intfun(int **matrix),这样写是没有区分“指向整型指针的指针”与“指向整型数组的指针”的区别。 这样传参是错的,因为matrix是个二维数组,matrix[100][100
2013-09-06 14:58:54 627
原创 关于主函数:int main(int&nb…
argc,argv 用命令行编译程序时有用。主函数main中变量(int argc,char *argv[ ])的含义有些编译器允许将main()的返回类型声明为void,这已不再是合法的C++main(int argc, char *argv[ ], char *env[])才是UNIX和Linux中的标准写法。 argc: 整数,用来统计你运行程序时送给main函数的命令行参数
2013-09-06 14:58:52 745
原创 关于[]静态数组和new分配的动态数…
(1)对静态数组名进行sizeof运算时,结果是整个数组占用空间的大小;因此可以用sizeof(数组名)/sizeof(*数组名)来获取数组的长度。int a[5];则sizeof(a)=20,sizeof(*a)=4.因为整个数组共占20字节,首个元素(int型)占4字节。int *a=newint[4];则sizeof(a)=sizeof(*a)=4,因为地址位数为4字节,int型
2013-09-06 14:58:49 597
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人