自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 C++多态 重写 重载 隐藏之间的关系

多态:基类指针或引用指向子类对象。重写:

2014-11-06 11:41:30 790

转载 c++中的强制类型转换

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:    TYPE b = (TYPE)a  C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。  const_cast,字面上理解就是去const属性。  static_cast,命名上理解是静态类型转换。如int转换成char。  d

2014-08-26 13:06:14 841

转载 C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用b.常量c.静态d.静态常量(整型)e.静态常量(非整型)    常量和引用,必须通过参数列表进行初始化。    静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有static关键字,其本质见文末。参考下面的代码以及其中注释:#in

2014-08-22 16:27:11 572

转载 Mysql 下帮助help或者help contests

mysql -u root -p进入到mysql客户端应用程序mysql,通过它可以管理数据库,访问数据库,执行SQL语句等等。1. 获取帮助mysql>help或者/?2. 将在mysql>下输入的内容输出到文件中,使用mysql>tee filename或者\T filenamemysql会提示你已经logging to file 'file

2014-04-17 15:52:33 700

转载 Android的ADB工具使用

Android的ADB工具使用在SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,就是调试桥的作用,借助这个工具,我们可以管理设备或手机模拟器的状态 ,还可以进行以下的操作:(1)快速更新设备或手机模拟器中的代码,如应用或Android系统升级;(2)在设备上运行Shell命令;(3)管理设备或手机

2014-01-11 15:32:23 875

转载 在 Sublime Text 2 中编译和运行 Java 程序

在 Sublime Text 2 中编译和运行 Java 程序文章发布于2013年10月20日 作者:cong5 评论: 没有评论 分类:译文[喜欢]Sublime Text 2,号称代码神器(啥?神码是神器?你确定你不是火星来的吗?)。文章中我们将讨论如何在 Sublime Text 2 中编译和运行 Java 程序。Step #1:设置 Java P

2014-01-09 16:50:01 887

转载 stm32中DMA基本使用

DMA有什么用?       直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。有多少个DMA资源?       有两个DMA控制器,DMA1有7个通道,DMA2有5个通道。数据从什么地方送到什么地方?       外设到SRAM(I2C/UART

2013-11-28 19:22:56 1385

转载 STM32 中断——优先级设置

STM32 中断——优先级设置STM32中断——优先级设置(转)       记性老差,前边熟悉的东西,转眼又忘了。今又翻开以前的笔记,重温记录如下(参考来源记不清楚了):    (一)中断优先级概念      STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被

2013-11-27 09:54:30 1051

转载 STM32存储器

当我们在完成某一个实验,当我们正庆幸的时候,我们不由得产生一种不安的想法——我们是否已经少许明白其中的种种细节?尤其,当我们所有的事情都依赖于编译环境或Firmware,抑或他人的程序,而自己仅仅是Copy和Modify,以致Using。当你还是一个初学者的时候,或许不会太过于关注于此,但是要想提高自己对单片机、处理器原理的理解,并且希望走得更远的时候,您就需要关注更为详细的内部知识,您需

2013-11-26 16:34:54 1296 2

转载 ip首部校验和计算

IP首部校验和的计算方法:  1.把校验和字段清零。  2.然后对每16位(2字节)进行二进制反码求和,反码求和的意思是先对每16位求和,再将得到的和转为反码。  接下来详细描述反码求和的步骤:看下面的代码  算法:SHORT checksum(USHORT* buffer, int size){ unsigned long cksum = 0;

2013-11-20 16:01:59 1076

原创 头插法建立链表

typedef struct LNOde{ ElemType data; struct LNOde *next;}LNode, *LinkList;void CreateListF(LNode *&L,ElemType a[],int n){ LNode *s; int i; L = (LNode*)malloc(sizeof(LNode)); //头结点head L->nex

2013-11-16 19:48:53 923

转载 Qt事件处理机制

转载自:http://www.devbean.net/2012/10/qt-study-road-2-event-summary/Qt 的事件是整个 Qt 框架的核心机制之一,也比较复杂。说它复杂,更多是因为它涉及到的函数众多,而处理方法也很多,有时候让人难以选择。现在我们简单总结一下 Qt 中的事件机制。Qt 中有很多种事件:鼠标事件、键盘事件、大小改变的事件、位置移动的

2013-11-08 16:17:44 953

转载 C++ protected成员访问权限

关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然。我再次读《C++ Primer》的时候,其中关于protected 成员的描述是这样的:protected MembersThe protected access label can be thought of as a blend of priv

2013-11-06 15:58:09 776

原创 使用select函数的TCP和UDP回射服务器程序

/* include udpservselect01 */#include "unp.h"intmain(int argc, char **argv){ int listenfd, connfd, udpfd, nready, maxfdp1; char mesg[MAXLINE]; pid_t childpid; fd_set rset; ssize

2013-10-13 20:26:58 1795

原创 TCP—经受时延、nagle算法、滑动窗口、拥塞窗口

经受时延:TCP在接收到数据时并不立即发送ACK,相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送,时延为200ms,超过时延范围,发送确认。nagle算法:该算法主要用于避免过多小分节报文在网 络中传输,从而降低网络容量利用率。比如一个20字节的TCP首部+20字节的IP首部+1个 字节的数据组成的TCP数据报,有效传输通道利用率只有将近1 /40。

2013-10-12 10:55:35 1782

转载 UNIX网络编程——常用套接字选项(SOL_SOCKET级别)

[cpp] view plaincopyprint?#include   int setsockopt( int socket, int level, int option_name,const void *option_value, size_t option_len);  第一个参数socket是套接字描述符。第二个参数level是被设置

2013-09-18 13:14:07 1982

转载 UNIX网络编程——套接字选项(SO_RCVBUF和SO_SNDBUF)(SO_REUSEADDR)

有时候我们需要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要学习套接字选项。[cpp] view plaincopyprint?int getsockopt(int sockfd,int level,int optname,void *optval,socklen_t *optlen)  int setsockopt(int s

2013-09-18 10:35:17 1609

转载 UNIX网络编程——socket概述和字节序、地址转换函数

一、什么是socketsocket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。socket API是一层抽象的网络编程接口,适用于各种底层网络协议,如IPv4、IPv6,以及以后要讲的UNIX Domain Socket。然而,各种网络协议的地址格式并不相同,如下图所示:

2013-09-18 10:31:15 931

转载 I/O多路转接(select、pselect和poll)使用

I/O多路转接:先构造一张有关描述符的列表,然后调用一个函数,直到这些描述符中的一个已准备好进行I/O时,该函数才返回。在返回时,它告诉进程哪些描述符已准备好可以进行I/O。     poll、pselect和select这三个函数使我们能够执行I/O多路转接。一、select函数在所有依从POSIX的平台上,select函数使我们可以执行I/O多路转接。传向sel

2013-09-17 14:50:19 839

转载 UNIX网络编程——select函数的并发限制和 poll 函数应用举例

一、用select实现的并发服务器,能达到的并发数,受两方面限制       1、一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n来调整或者使用setrlimit函数设置, 但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sys/fs/file-max 查看       2、select中的fd

2013-09-17 14:39:00 718

转载 UNIX网络编程——产生RST

产生RST的3个条件:1. 建立连接的SYN到达某端口,但是该端口上没有正在监听的服务。   如:IP为192.168.1.33的主机上并没有开启WEB服务(端口号为0x50),这时我们通过IE去访问192.168.1.33,通过Wireshark抓包,可以看到,对此SYN包的回复为RST。说明此服务器(即IP192.168.1.33)是存在的,不过其上并没有运行WEB Server(如a

2013-09-17 13:22:07 664

转载 UNIX网络编程——shutdown 与 close 函数 的区别

假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说),此时server不能再通过socket发送和接收数据,此时client调用read,如果接收到FIN 段会返回0,但client此时还是可以write 给server的,write调用只负责把数据交给TCP发送缓冲区就可以成功返回了,所以不会出错,而s

2013-09-17 12:41:45 716

转载 5种I/O模型

我们看到TCP客户同时处理两个输入:标准输入和TCP套接字。我们遇到的问题是就在客户阻塞于(标准输入上)fgets调用,服务器进程会被杀死。服务器TCP虽然正确的给客户TCP发送了一个FIN,但是既然客户进程正阻塞于从标准输入读入的过程,它将看不到这个EOF,直到从套接字读时为止(可能额已过了很长时间)。这样的进程需要一种预先告知内核的能力,使得内核一旦发现进程指定的一个或多个I/O条件就绪(也就

2013-09-16 14:48:15 754

转载 tcpdump命令的使用

工作中一直在用tcpdump,感觉非常方便,今天心血来潮百度了一下tcpdump的用法,才发现原来还有这么多强大的功能自己都不知道,那叫一个汗啊。以此文作为备份,记录一些新知道的用法,各位网友谁有新的用法,也可以及时告知我进行补充,一起丰富,哈哈!本人邮箱:[email protected]废话不多说,切入正题。命令及解释用红色字体,命令所需参数的参数值

2013-09-12 13:47:27 1032

转载 Wireshark基本介绍和学习TCP三次握手

Wireshark基本介绍和学习TCP三次握手之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘

2013-09-11 22:28:16 648

转载 UNIX网络编程——SOCKET API和TCP STATE的对应关系_三次握手_四次挥手及TCP延迟确认

在我们学习网络基础时,传输层的协议有TCP和UDP;在Linux网络编程中,我们使用socket API,实现网络通信。那么:        socket API 和 TCP 协议中各个状态是如何对应的呢?我们可以通过下图来看:          在socket系统调用中,如何完成三次握手和四次挥手:        SOCK_DGRAM,即UDP中的co

2013-09-11 22:12:20 846

原创 定期小总结

暑假过的比想象中的还要快,研一的这一年里,感觉自己真的学到很很多,充实了很多,但觉得自己还是菜鸟,还有一年就要找工作了。自己对linux方向的c/c++编程很非常感兴趣,以后就朝着这个目标linux下软件开发不断努力。

2013-08-29 22:31:52 662

转载 GDB调试多进程、多线程

. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。      follow-fork-mode  detach-on-fork   说明parent

2013-08-27 15:34:30 1394

原创 GDB调试多进程的fork+exec

通过一个实例来观察协同进程,在程序中创建了两个管道, 父、子进程各自关闭它们不需要使用的端口。两个管道一个用作协同进程的标准输入,另一个用作它的标准输出、子进程在调用dup2后使管道描述符移至其标准输入和标准输出, 然后调用execl。 #include int main(void){ int n, int1, int2; char line[MAXLINE]; while

2013-08-27 15:09:50 2087

转载 GCC常用编译选项

在使用GCC编译程序时,编译过程可以被细分为四个阶段:预处理(Pre-Processing)编译(Compiling)汇编(Assembling)链接(Linking)假如有一个hello.c文件,使用以下命令即可:gcc hello.c -o hello./hello分阶段编译:预处理:gcc -E hello.c -o hello.i编译:gcc

2013-05-27 18:49:58 1305

原创 嵌入式 LINUX学习

2013.5.91.VMware Tools的安装,虚拟机自带的vmware tools在安装到最后一步的时候,  提示 Initializing... this configuration program is to be executed in a virtual machine. execution aborted.  由于vmware 9.0自带的

2013-05-09 19:15:44 986

原创 ADS中调试中断函数时进不了中断服务函数的解决办法

最近在ADS中调试ARM裸机中断,遇到了一个很大的问题-无法进入中断服务程序。在调试触摸屏裸机程序过程中遇到了很奇怪的问题:我用JLINK在线调试时,当选择开关打到nandflash时可以成功跳到中断服务程序,但是当选择开关打到norflash时,再下到SDRAM中就是进不了中断,在ADS下调试触摸屏中断实验时,一按触摸屏发出中断就提示Dummy error......经过参考

2013-05-05 21:29:49 2207

转载 AXD Jlink仿真注意的错误

多人根据jlink的手册来设置使用ADS,但都不能在S3c2440 上面运行成功。下面的设置能成功运行。供大家参考。ADS  项目属性设置: -ro-base = 0x30000000 entry 0x30000000 Init Section: 2440init.o Init AXD下需要加载一个SDRAM初始化文件。 AXD下-->Option->Config In

2013-05-02 20:56:12 1221

原创 ubuntu下配置NFS和TFTP连接omapl-138开发板

网上各种做法扑朔迷离,一般来说有这么两种方式:1、通过在主机/虚拟机、开发板上分别布置服务器、客户端,使用mount命令直接加载·开发板上的已有·的文件系统;2、只在主机/虚拟机上安装nfs服务器,在开发板的内核支持nfs的前提下,通过修改启动参数,让开发板挂载主机/虚拟机上·的文件系统。因为不清楚在开发板上布置客户端的步骤(网上这种做法的没找到提及开发板的操作,多数只说明了主

2013-04-07 20:10:03 1889

转载 内存对齐的思考

内存对齐结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。结构体内部成员的对齐要求,结构体本身的对齐要求。最重要的有三点(一)成员对齐。对于结构体内部成员,通常会有这样的规定:各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。但是也可以看到,有时候某些字段如果严格按照大小紧密排列,根本无法达到这样的目的,因此有时候必须进行p

2013-03-29 20:12:10 728

转载 C语言运算符优先级

C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.

2013-03-09 10:46:20 714

转载 vim常用命令

类型命令/解释移动光标类命令h光标左移一个字符}:光标移至段落开头l光标右移一个字符{:光标移至段落结尾space光标右移一个字符nG:光标移至第n行首Backspace光标左

2013-01-18 16:42:34 269

转载 Linux常用命令手册

Linux常用命令手册(下载源码就到源码网:www.codepub.com)NO分类PS1命令名用法及参数功能注解对应章节1文件管理#lsls -a列出当前目录下的所有文件,包括以.头的隐含文件

2013-01-18 12:46:11 310

空空如也

空空如也

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

TA关注的人

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