自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (10)
  • 收藏
  • 关注

转载 图解Git

正文基本用法约定命令详解DiffCommitCheckoutDetached HEAD(匿名分支提交)ResetMergeCherry PickRebase技术说明基本用法上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。git add files 把当前文件放入暂存区域。git commit 给暂存区域生成快照并提交。git

2015-01-30 16:02:31 460

转载 比较提交 - Git Diff

你可以用 git diff 来比较项目中任意两个版本的差异。$ git diff master..test上面这条命令只显示两个分支间的差异,如果你想找出‘master’,‘test’的共有 父分支和'test'分支之间的差异,你用3个‘.'来取代前面的两个'.' 。$ git diff master...testgit diff 是一个难以置信的有用的工具,可

2015-01-30 16:00:05 1277

转载 git log常用命令以及技巧

1.git log如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者、提交日期、和提交说明。如果记录过多,则按Page Up、Page Down、↓、↑来控制显示;按q退出历史记录列表。2.git log -n如果不想向上面那样全部显示,可以选择显示前N条。3.git log --stat -n显示简要的增改行数统计

2015-01-30 11:05:00 640

转载 unsigned char 与 char

char 和 unsigned char是无符号的两者都作为字符用的话是没有区别的,但当整数用时有区别: char 整数范围为-128到127( 0x80~0x7F),  而unsigned char 整数范围为0到255( 0~0xFF )多数情况下,char ,signed char 、unsigned char 类型的数据具有相同的特性然而当你把一个单字节的数赋给一个大整

2015-01-29 12:35:48 4150

原创 ARP报文格式

ARP:地址解析协议(address Resolution protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。 在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即I地址IP)但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要从IP地址

2015-01-29 11:11:29 1734

转载 UNIX网络编程——原始套接字的魔力【续】

上一篇里面提到的是从链路层“收发”数据,该篇是从链路层发送数据帧。       上一节我们主要研究了如何从链路层直接接收数据帧,可以通过bind函数来将原始套接字绑定到本地一个接口上,然后该套接字就只接收从该接口收上来的对应的数据包。今天我们用原始套接字来手工实现链路层ARP报文的发送和接收,以便大家对原始套接字有更深刻的掌握和理解。       ARP全称为地址解

2015-01-28 21:58:11 583

转载 struct sockaddr和struct sockaddr_in结构

sockaddr结构体sockaddr的缺陷:sa_data把目标地址和端口信息混在一起了struct sockaddr { ushort sa_family; char sa_data[14];};sa_family是通信类型,最常用的值是 "AF_INET"sa_data14字节,包含套接字中的目标地址和端口信息sockaddr_in 结构

2015-01-28 20:56:53 3460

转载 inet_ntoa(), inet_aton(), inet_addr

Convert IP addresses from a dots-and-number string to a struct in_addr and backPrototypes#include #include #include // ALL THESE ARE DEPRECATED! Use inet_pton() or inet_ntop() instead!!c

2015-01-28 20:32:46 853

转载 htonl() htons()及inet_ntoa() inet_addr()的用法

现在我们很幸运,因为我们有很多的函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"首先,假设你已经有了一个sockaddr_in结构体ina,你有一个IP地址"132.241.5.10" 要储存在其中,你就要用到函数inet_addr(),将IP地址从 点数格式转换成无符号长整型。使用方法如下:ina.sin_addr.s_addr = inet_addr("132

2015-01-28 20:11:02 603

转载 ioctl 获取本机网卡ip地址 | socket() 复制代码

#include #include #include #include #include #include #include int main(){ int inet_sock; struct ifreq ifr; inet_sock = socket(AF_INET, SOCK_DGRAM, 0); //eth0为接口到名称 strcp

2015-01-28 20:02:00 927

转载 基于条件变量阻塞pthread_cond_wait

基于条件变量阻塞使用 pthread_cond_wait(3C) 可以以原子方式释放 mp 所指向的互斥锁,并导致调用线程基于 cv 所指向的条件变量阻塞。对于 Solaris 线程,请参见cond_wait 语法。pthread_cond_wait 语法int pthread_cond_wait(pthread_cond_t *cv,pthread_mutex_t

2015-01-27 14:41:03 1372

转载 abort函数和exit函数

函数名: abort功 能: 异常终止一个进程用 法: void abort(void);头文件:#include 说明:abort函数是一个比较严重的函数,当调用它时,会导致程序异常终止,而不会进行一些常规的清除工作,比如释放内存等。程序例:#include #include int main(void){   puts( "About to ab

2015-01-27 14:12:31 2376 1

转载 POSIX 线程详解(三)

使用条件变量提高效率本文是 POSIX 线程三部曲系列的最后一部分,Daniel 将详细讨论如何使用条件变量。条件变量是 POSIX 线程结构,可以让您在遇到某些条件时“唤醒”线程。可以将它们看作是一种线程安全的信号发送。Daniel 使用目前您所学到的知识实现了一个多线程工作组应用程序,本文将围绕着这一示例而进行讨论。2 评论:Daniel Rob

2015-01-27 12:48:26 725 1

转载 pthread_cond_wait()函数

LINUX环境下多线程编程肯定会遇到需要条件变量的情况,此时必然要使用pthread_cond_wait()函数。但这个函数的执行过程比较难于理解。    pthread_cond_wait()的工作流程如下(以MAN中的EXAMPLE为例):       Consider two shared variables x and y, protected by the mutex mut, an

2015-01-27 10:34:41 638

转载 linux多线程编程,你还在用sleep么?用pthread_cond_timedwait吧

摘要:多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在一些未知问题。采用pthread_cond_timedwait(pthread_cond_t

2015-01-27 10:01:59 3915

转载 Broadcom Nexus学习 (一) Graphics

0. Broadcom Nexus介绍:Nexus是Broadcom提供的一套开发中间件,以标准API形式为Digital TV 和Set-Top boxes上层程序提供标准接口,它将不同的底层与上层开发隔绝开来,以达到上层开发与底层无关的目的。所有Interface的用法和思路基本上是一致的。Sam最先接触到的Nexus模块就是 Graphics. 1. Nexus Pl

2015-01-26 16:19:08 1154

转载 diff和patch十分钟指南

情景一:你正尝试从代码编译一个软件包,发现有人已经对代码进行了小小的修改以便在你的系统上编译。他们通过补丁的方式发布自己的成果,但是你却不知道该如何使用它。答案是你使用一个叫做patch(很贴切)的命令行工具将补丁应用到原始代码上。 情景二:你下载了一个开源软件包的代码,花了一个小时左右稍作修改,成功的让它在你的系统上编译通过。你想把自己的成果分享给其他程序员,或者给软件包的作者。现在你就

2015-01-26 13:35:09 653

转载 每天一个linux命令:gzip命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。1.命令格式:g

2015-01-21 22:53:00 458

转载 sed命令详解

1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显

2015-01-20 23:13:01 493

转载 Linux内核与根文件系统的关系

开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。”一.什么是文件系统文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统

2015-01-20 17:10:12 823

转载 Linux根文件系统

首先要明白的是“什么是文件系统”,文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。在一篇oracle的技术文章中看到这样一句话“尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件”,这句话我是这样理解的,在Linux

2015-01-20 16:57:42 426

转载 Shell中的循环语句总结(for, while, until)

在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧。这里包括for/while/until循环,以及变量自增的语法实例。Shell(以Bash为例)中的循环语句一般有for、while、until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下。也为今后使用提供一个快捷的资料获取渠道。1.for循环

2015-01-20 16:02:46 1659

转载 Shell脚本编程30分钟入门

什么是Shell脚本示例看个例子吧:#!/bin/shcd ~mkdir shell_tutcd shell_tutfor ((i=0; i<10; i++)); do touch test_$i.txtdone示例解释第1行:指定脚本解释器,这里是用/bin/sh做解释器的第2行:切换到当前用户的home目录第3行:创建一个目录shell

2015-01-19 18:01:03 546

转载 Linux下执行.sh文件提示No such file or directory

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。如图:分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPl

2015-01-19 14:03:38 995

转载 bumpver

..  Makefilefeat(contrib): add bumpver tool to help with semantic version releases4 months agoREADME.mdfix(bumpver): reference files which need bump

2015-01-16 17:41:01 565

转载 二级指针

二级指针又分为指向指针变量的指针和指向数组的指针.指向指针变量的指针在如上的A指向B、B指向C的指向关系中,如果A、B、C都是变量,即C是普通变量,B是一级指针变量,其中存放着C的地址,A是二级指针变量,其中存放着B的地址,则这3个变量分别在内存中占据各自的存储单元,它们之间的相互关系下图所示,相互之间的前后位置关系并不重要.此时,B是一级指针变量,B的值(即C的地址)是一级指针数

2015-01-16 17:19:51 491

转载 关于const char*和char*、const char** 和char** 赋值问题

根据ANSI C标准的赋值约束条件:    1. 两个操作数都是指向有限定符或无限定符的相容类型的指针。    2. 左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。一、const char*和char*    const char*的类型是:“指向一个具有const限定符的char类型的指针”。(不能修改其值)    char*的类型是:“指向一个char类型的指

2015-01-16 13:46:47 2273

转载 让我们彻底搞懂C/C++函数指针吧(三)

本文出自 “相信并热爱着” 博客,请务必保留此出处http://hipercomer.blog.51cto.com/4415661/7923023.6 使用函数指针数组函数指针有意思的地方在于,它使用从0到n-1这个n个连续的整数下标直接映射到函数上。和前面一样,我们也是类比着定义普通指针数组来定义函数指针数组。首先,考虑一个浮点数指针数组,数组的长度为10.我们都知道用下面的

2015-01-14 18:36:03 484

转载 让我们彻底搞懂C/C++函数指针吧(二)

本文出自 “相信并热爱着” 博客,请务必保留此出处http://hipercomer.blog.51cto.com/4415661/7923013.4 函数指针作为参数如果你已经明白了函数的参数机制,而且完全理解并实践了3.3节的内容,这一节其实是很简单的。只需要在函数的参数列表中,声明一个函数指针类型的参数即可,然后再调用的时候传给它一个实参就可以了。你可以这么想象,就是把函数指

2015-01-14 18:17:24 394

转载 让我们彻底搞懂C/C++函数指针吧(一)

本文出自 “相信并热爱着” 博客,请务必保留此出处http://hipercomer.blog.51cto.com/4415661/792300摘要:这篇文章详细介绍C/C++的函数指针,请先看以下几个主题:使用函数指针定义新的类型、使用函数指针作为参数、使用函数指针作为返回值、使用函数指针作为回调函数、使用函数指针数组,使用类的静态函数成员的函数指针、使用类的普通函数成员的指针、定义函数

2015-01-14 17:52:35 729

转载 制作不用密码可立即登入的 ssh 用户

你或许已经想到了,既然 ssh 可以使用 scp 来进行网络复制的话,那么我能不能将 scp 的指令放置于 crontab 服务中, 让我们的系统透过 scp 直接在背景底下自行定期的进行网络复制与备份呢?抱歉,答案是:『预设状况下不允许此动作』的! 为甚么呢?因为预设状况下,你必须要透过远程登录,与 scp 互动的输入密码才行啊!但 crontab 又不会让你有终端接口输入密码, 所以该程序就会

2015-01-14 16:21:27 676

转载 关于函数strtok和strtok_r的使用要点和实现原理(二)

原帖地址:http://blog.csdn.net/liuintermilan/article/details/6283705(一)中已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。 1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct

2015-01-12 16:37:01 586

转载 关于函数strtok和strtok_r的使用要点和实现原理(一)

原帖地址:http://blog.csdn.net/liuintermilan/article/details/6280816strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网

2015-01-12 16:34:06 600

转载 SSH 协议与OpenSSH详解

1. ssh概述ssh是(Secure SHell protocol) 的简写,安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。2. ssh 主要功能一个就是类似 telnet 的远程联机使用 shell 的服务器,即 ssh另一个就是类似 FTP 服务的 sftp-server ,提供更安全的 FTP 服

2015-01-08 12:40:49 2452

转载 grep 命令基本用法

1、grep 命令基本用法(1)grep命令是支持正则表达式的一个多用途文本搜索工具,grep的一般格式为:grep [选项][模式][文件…] grep命令由选项、模式和文件三部分组成,它在一个或多个文件中搜索满足模式的文本行,模板后的所有字符串被看做文件名,文件名可以有多个,搜索的结果被打印到屏幕,不影响原文件的内容。grep命令的选项用于对搜索过程进行补充说明,grep命

2015-01-06 16:17:04 3887

转载 管道命令和xargs的区别(经典解释)

一直弄不懂,管道不就是把前一个命令的结果作为参数给下一个命令吗,那在 | 后面加不加xargs有什么区别NewUserFF 写道:懒蜗牛Gentoo 写道:管道是实现“将前面的标准输出作为后面的标准输入”xargs是实现“将标准输入作为命令的参数”你可以试试运行:代码:echo "--help"|catecho "--help"|xargs cat看

2015-01-06 12:54:20 540

转载 git错误收集

1、Pull is not possible because you have unmerged files.在git pull的过程中,如果有冲突,那么除了冲突的文件之外,其它的文件都会做为staged区的文件保存起来。$ git pullA    Applications/Commerce/BookingAnalysis.javaA    Applications/Comm

2015-01-06 10:23:33 656

转载 内存访问越界

1. 原理分析经常有些新C++程序员问:C++的类的成员个数是不是有限制,为什么我加一个变量后程序就死了?或者说:是不是成员变量的顺序很重要,为什么我两个成员变量顺序换一换程序就不行了?凡此种种之怪现象,往往都是内存访问越界所致。何谓内存访问越界,简单的说,你向系统申请了一块内存,在使用这块内存的时候,超出了你申请的范围。例如,你明明申请的是100字节的空间,但是你由于某种原因写入了1

2015-01-05 14:38:41 622

转载 linux insmod命令参数及用法详解--linux加载模块命令

insmod(install module)功能说明:载入模块 install loadable kernel module语法:insmod [-fkmpsvxX][-o ][模块文件][符号名称 = 符号值]参数:-f  不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入。-k  将模块设置为自动卸除。-m  输出模块的载入

2015-01-05 11:37:36 1977

转载 使用 watchdog 构建高可用性的 Linux 系统及应用

Linux 在不同领域如电信、终端便携设备等得到广泛应用,不同领域的应用对 Linux系统也提出相应的需求。Carrier Grade Linux 是 OSDL(Open Source Development Lab)发布的电信级 Linux 的标准,在系统可用性这部分指出 Linux 必须支持 watchdog 机制。Linux 内核从 1.3.51 版本开使提供硬件、软件 watchdog 驱

2015-01-05 11:20:02 568

LTE—UMTS长期演进理论与实践

LTE方面最权威的著作,系统、深入、全面地介绍了LTE的背景、动因和技术内容,涵盖了基本理论基础、物理层技术设计、网络协议架构以及系统部署和性能分析等方方面面。

2011-11-17

M进制的MQAM调制的matlab仿真程序

M进制的MQAM调制的matlab仿真程序,很全,很详细

2011-05-24

ASK BPSK QPSK调制等的matlab仿真程序

ASK BPSK QPSK调制等的matlab仿真程序,很全,运行速度快

2011-05-24

LDPC的matlab 仿真 BP算法 BPSK调制

LDPC仿真,matlab BP算法 LDPC的matlab 仿真 BP算法 BPSK调制

2011-05-24

LDPC编译码 matlab快速仿真,BP算法

LDPC编译码 matlab快速仿真,BP算法

2011-05-08

LDPC编译码 matlab仿真,BP算法

LDPC编译码 matlab仿真,BP算法

2011-05-08

LDPC编译码 matlab仿真,BPSK调制

LDPC编译码,matlab仿真,BPSK调制

2011-05-08

EDA技术实用教程(第三版)答案

用74283 加法器和逻辑门设计实现一位8421BCD 码加法器电路,输入输出均是BCD 码,CI 为 低位的进位信号,CO 为高位的进位信号,输入为两个1 位十进制数A,输出用S 表示。 解:如果二进制的和大于9,需要再加上6 来补成BCD 码

2010-05-24

通信原理笔记卡萨科技

通信原理笔记北邮的发声空间发生会计拉斯加开了卢卡斯的

2010-04-01

空空如也

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

TA关注的人

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