自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

转载 Linux MAN命令的使用技巧

在Linux的shell下我经常要使用Linux man命令来查看一些不熟悉的命令的使用方法。最经在shell下编程的时候,发现一些c和c++中的库函数。不清楚,我都跑去网上搜索了。一不小心,我发现,原来Linux man还可以用来查询系统库文件中的一些函数定义和使用方法。Linux man中的man就是manual的缩写,用来查看系统中自带的各种参考手册,但是手册页分为好几个部分,如下所示:

2012-03-29 14:37:52 758

转载 echo -e 在shell script 方式下运行的问题

这样的,在Debian和RHEL下录入相同的脚本文件,如下#!/bin/bashecho -e "hello\a\n"exit 0复制代码结果却会显示2种不同的结果在RHEL下,会正常的显示hello在Debian下,却会显示为-e hello分别看了两个系统的man echo,发现都是一样的...难道这个是debian/ubuntu的bug?

2012-03-29 11:33:38 872

转载 在ubuntu下如何添加windows的字体

其实很早就对linux中少得可怜的字体感到可悲了,无奈只能把在windows中用惯了的字体移到linux下,像宋体啊、黑体啊等等……方法如下:第一步:将windows下喜欢的字体文件copy到一个文件夹中,例如将XP里WINDOWS/FONTS中的字体文件(本人比较贪心,把整个文件夹copy了过来……),在linux中命名为xpfonts第二步:将copy到的字体文件夹copy到系统字

2012-03-28 11:21:01 559

转载 Selection block comment

Hello,It strikes me as somewhat odd the decision to not provide quick access to the possibility of commenting a block of selected code. There's not even an option for this anywhere. I dealt with t

2012-03-27 11:48:32 1047

转载 SlickEdit 设置点滴

字体: Tools->Options->Font 个人觉得最好看的是FixedSys。 显示改动过的行标记:Tools->Options->File Extension SetupAdvanced-Color coding-Modified lines自动在保存的时候清除修改标记:Tools->Options->File OptionsSave-Reset line

2012-03-26 14:14:35 1205

转载 vim和source insight的配合使用

谁说鱼与熊掌不可兼得? 以下的技巧献给像我一样在windows平台下,钟爱vim,同时又在Source Insight的朋友 不可否认,Source Insight看代码时比较方便,而且它的代码自动完成功能比vim+ctags+cscope好用的多,可是我认为写代码时,Source Insight的功能却比不上vim。所以我经常需要在vim和Source Insight之间切换。可是为什么

2012-03-25 15:32:33 2850

转载 常见的Windows系统目录简写环境变量

编程出都会用到的%ALLUSERSPROFILE%  C:\Documents and Settings\All Users%USERPROFILE%            C:\Documents and Settings\当前用户名 %HOMEPATH%                  C:\Documents and Settings\当前用户名%SYSTE

2012-03-23 11:56:05 1999

转载 Vim + Ctags 更新

由于开发时常常使用Ctags进行跳转查询,因此特意写了一个函数用于更新ctags代码:"递归查询父文件夹的tags文件,这样在项目的那个文件夹当中就都可以访问同一个tags文件了set tags=tags;"更新ctags,找寻父文件夹原有tags文件function UpdateCtags()    let curdir=getcwd()    whi

2012-03-23 11:17:47 2736

转载 用vim比较文件(Using vim to compare files)

1. 使用vim的比较模式打开两个文件:   vim -d file1 file2或   vimdiff file1 file22. 如果已经打开了文件file1,再打开另一个文件file2进行比较:   :vert diffsplit file2如果没有用vert命令,diffsplit则会分上下两个窗口。3. 如果已经用split方式打开了两个文件file1

2012-03-23 10:47:10 1126

转载 vim自动显示函数原型

先上效果图:1.只要把鼠标停留在函数名上,就自动显示它原型;2.在编辑时,输入函数和(后就在命令行提示函数原型,3.详细用途请看它的说明下载地址:http://www.vim.org/scripts/script.php?script_id=1735Usage:        When you type '(' after a f

2012-03-22 15:08:03 2861 4

转载 Design Entry CIS

启动Allegro时Cadence Product Choices!开始时use as default对话框打了勾!所以对话框不见了!现在我想重显这个对话框!怎么办??--------------------------------------------------------------------------------File->Change product Choices,

2012-03-22 09:41:19 1927

转载 MII/MDIO接口详解

本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法。MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的

2012-03-21 21:35:00 1223

转载 ERROR :“dereferencing pointer to incomplete type”是什么错误?

“dereferencing pointer to incomplete type”是什么错误?I use gcc to compile my C file.dereferencing pointer to incomplete type是什么错误?-->你的指针,有一个类型,这个类型是不完全的。也就是说,你只给出了这个类型的声明,没有给出其定义。你这里的类型多半是结构

2012-03-20 13:10:32 3293

转载 在Vim中实现C++提示

喜欢在VC下写C++,因为按下”.”后,会自动提示类里面的成员变量或成员函数,其实VIM也可以做到下载omnicppcomplete插件:http://www.vim.org/scripts/script.php?script_id=1520,解压到~/.vim文件夹安装ctags,sudo apt-get intall ctagsshell下执行如下命令:ctags -R --c

2012-03-20 09:38:09 1940

原创 vim 插件echofunc.vim 翻页问题

将echofunc.vim放到了plugin文件夹下我写了个测试的C程序,先在程序里声明了一个函数然后用ctags生成了tags文件,然后再去编辑C程序使用ALT+-或者ALT+=都没有任何反应求高人帮助!PS:我没有在vimrc文件中设置关于echofunc.vim任何选项------------------------------------------------

2012-03-19 15:44:19 2818

转载 映 射 ALT 键

GUI 上,Vim 自己处理 Alt 键,所以用 ALT 键的映射应该总没有问题。但在终端上,Vim 得到字节的序列,它必须自己判断是不是按了 ALT 键。Vim 缺省假设按下 ALT 键等于置位输入字符的第 8 位。多数正常的终端如此工作,包括xterm、aterm 和 rxvt。假如你的 映射不能工作,可能的原因是你的终端用在字符前加上 ESC 前缀的方法。但是你本来也可能在字符前

2012-03-19 14:46:50 1463

转载 Use Alt/Meta In a Terminal

If you use vim in a terminal, simply press alt/meta+normal_mode_key. Most terminals send an escape character followed by the normal_mode_key that you pressed, removing the need to press escape yoursel

2012-03-19 14:29:18 939

转载 source insight的快捷键总结

Exit 退出程序                    : Alt+F4Redraw Screen 重画屏幕                  : Ctrl+Alt+SpaceBack Tab                                         : Shift+TabBackspace

2012-03-17 22:13:13 520

转载 source insight快捷键及使用技巧

退出程序                             : Alt+F4重画屏幕                             : Ctrl+Alt+Space完成语法                             : Ctrl+E复制一行                             : Ctrl+K恰好复制该位置右边的该行的字符

2012-03-17 22:09:40 709

转载 ubuntu10安装samba问题解决

问题1:sudo: testparm: command not found。找了好久终于找到眉目,貌似又是少安装了个东西。于是按照网上解决办法输入语句进行安装 $ sudo apt-get install samba-common-bin问题解决。问题2:sudo /etc/init.d/samba restart 无反应发现init.d目录下没有samba这个文件,参

2012-03-16 23:42:05 725

原创 vim cook

[[ 转到上一个位于第一列的“{”]] 转到下一个位于第一列的“{”{   转到上一个空行}   转到下一个空行

2012-03-16 22:06:20 635

转载 ==把VIM打造成开发C的IDE==

从开始适用VIM已经快半年了,经过半年的打造和熟悉,VIM已经成为我工作生活中不可分开的一部分!现在使用WORD、或者在其他人的机子上使用!SourceInsigh等工具时候都忍不住按ESC、HJKL! 在使用过程中,我也贡献了一个插件,funprototypes.vim,可以自动添加函数原型到程序中!    VIM真的是个非常强大的工具,介绍一篇博文>, url:http://hi.baid

2012-03-16 21:56:24 1308

转载 Linux编码规范

一、排版1.相对独立的程序块之间、变量声明之后必须加空行。int          conn_fd;int          ret;     conn_fd = socket(AF_INET, SOCK_STREAM,0);if (conn_fd < 0){    perror("socket create");}2

2012-03-15 14:50:33 641

转载 Linux / Unix Command: packet

Linux / Unix Command: packet Command Library NAMEpacket, PF_PACKET - packet interface on device level. SYNOPSIS#include sys/socket.h>#include features.h> /* for th

2012-03-15 13:31:34 1009

转载 MAC地址解析-广播地址、组播地址和单播地址的特征

MAC地址分成三类,分别是广播地址、组播地址和单播地址。首先,FF:FF:FF:FF:FF:FF毫无疑问是广播地址。每个网卡出厂时被分配唯一一个单播地址,头24位是设备制造厂商的编号,由IEEE(电气与电子工程师协会)分配,后24位是设备厂商为网卡制定的唯一编号。例如08:00:20:0A:8C:6D是单播地址的例子,其中08:00:20是著名的CPU厂商AMD的编号。单播地址的特征是头8位的最低

2012-03-15 10:50:10 19018 2

转载 路由器原理及路由协议

本文通过阐述TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能,给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要介绍了目前最常见的RIP、OSPF、BGP和BGP-4这几种路由协议,然后描述了路由算法的设计目标和种类,着重介绍了链路状态法和距离向量法。在文章的最后,扼要讲述了新一代路由器的特征。——近十年来,随着计算机网络规模的不断扩大,大型

2012-03-15 10:23:27 1180

转载 单播、组播、广播、组播以及泛洪的区别

很多学员都在问,单播、组播、广播的定义以及区别,费功夫给大家讲一下,希望对大家的学习有帮助。 一、什么是组播1、组播的特点1)什么是组播?组播是一种数据包传输方式,当有多台主机同时成为一个数据包的接受者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。2)组播如何进行工作?    组播通过把224.0.0.0-239.255.255.255的D类地址作为目的地址,有

2012-03-15 09:47:15 3498

转载 PF_PACKET 相关基础知识

PACKET(7)Section: PACKET(7) (Linux)Updated: Programmer'sIndexReturn to Main Contents NAME分组(也译为数据包),PF_PACKET - 在设备层的分组接口译注:PF_PACKET 中的 PF 是 protocol family(协议族)的缩写。   SYNOPSI

2012-03-14 17:30:46 1207 1

转载 原始套接字

实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM)。而这些数据包都是由系统提供的协议栈实现,用户只需要填充应用层报文即可,由系统完成底层报文头的填充并发送。然而在某些情况下需要执行更底层的操作,比如修改报文头、避开系统协议栈等。这个时候就需要使用其他的方式来实现。 一 原始套

2012-03-14 17:19:40 1032

转载 Linux Socket的一些小结

今天中午看了一下socket()中各参数的意思,以及各种组合的相关含义,现归纳一些raw_socket使用组合,以备查阅: (1)当socket()中第一个参数为AF_INET(等价于PF_INET)时,表示的是获取从网络层开始的数据:socket(PF_INET,SOCK_RAW,......):        当接收包时,表示用户获得是完整的包含IP报头的数据包,即数据从IP头

2012-03-14 17:06:53 1696

转载 链路层套接字PF_PACKET简介

在linux环境中要从链路层(MAC)直接收发数据帧,可以通过libpcap与libnet两个动态库来分别完成收与发的工作。虽然它已被广泛使用,但在要求进行跨平台移植的软件中使用仍然有很多弊端。这里介绍一种更为直接地、无须安装其它库的从MAC层收发数据帧的方式,即通过定义链路层的套接字来完成。Packet套接字用于在MAC层上收发原始数据帧,这样就允许用户在用户空间完成MAC之上各

2012-03-14 15:55:16 784

转载 Linux原始套接字之ARP协议实现

1. ARP协议介绍 ARP(AddressResolutionProtocol)地址解析协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)[RFC826].ARP协议是属于链路层的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当

2012-03-14 15:54:05 2223

转载 Linux中利用RAW SOCKET直接通过网卡收发数据

问题背景:公司原来为了搜索局域网内的网络视频解码器开发了一个Decoder Finder,用的是UDP广播的方式。现在韩国的客户发现当IP地址和PC不在同一网段时,无法搜索到decoder,人家还找了一个他们的软件,暴强,就算是IP地址全是0,照搜不误。问题分析:PC端,其实也就是用winpcap,直接和网卡通信,把消息包发出来,并且在接受响应。这样数据包不经过IP和UDP协议栈,

2012-03-14 15:45:11 10542 1

转载 linux sock_raw原始套接字编程

sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|E

2012-03-14 15:30:09 1175

转载 一个linux UDP网络通讯的例子源代码(server、client方式)

服务器端代码#include #include #include #include #include #include #include #include int main(int argc, char *argv[]){int sock;//sendto中使用的对方地址struct sockaddr_in toAddr;//在recvfro

2012-03-14 14:26:15 602

转载 Linux Socket编程(不限Linux)

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有

2012-03-12 17:20:15 466

转载 ioctl Socket Control Operations

PurposePerforms network related control operations.Syntax#include int ioctl (fd, cmd, .../* arg */) int fd;int cmd; int ... /* arg */DescriptionThe socket ioctl commands per

2012-03-12 16:14:23 2342

转载 VIM 多文件查找替换

Vim中也可以像普通ide那样的在多个文件中查找的功能,用的是:vimgrep这条命令,格式如::vimgrep /AAA/ **/*.* 。执行这条命令后,可以通过:cw命令打开匹配的窗口进行查询结果的查看。   另外,vim还可以通过args命令对多个文件进行批量操作。可以参考下面这篇文章:原文地址:http://insen.info/2009/09/20/vim-multi-file

2012-03-06 16:28:49 1198

原创 vim tips

1. 怎样在命令行中读取光标下单词?  :C-R C-W 2. 怎么查看vim中加载了那些插件?  :scriptnames 3. 怎么打开当前目录所有c文件?  :args *.c4. 连续添加空行    5. Vim 多buffer的查找替换    :bufdo %s/aaa/bbb/ge | update

2012-03-06 15:32:23 760

转载 TCP/IP Architecture Model: 4-Layers vs. OSI 7 Layers

TCP/IP architecture does not exactly follow the OSI model. Unfortunately, there is no universal agreement regarding how to describe TCP/IP with a layered model. It is generally agreed that TCP/IP has

2012-03-01 10:04:03 1247

ARM Linux 启动过程分析

ARM Linux 启动过程分析 对照代码详细讲述了linux启动过程

2012-06-08

Android Architecture Analysis

Android Architecture Analysis

2012-01-21

空空如也

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

TA关注的人

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