自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux patch 命令小结

说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 实验的基本步骤。我打算是建立一个级联目录./x/xx/xxx/,在xxx目录下建立两个不同的文件xxx1,xxx2。然后在xxx目录下用dif

2015-02-27 13:42:53 392

转载 解析linux patch

Patch的主要用途是给代码打补丁,修正已知的错误,或者作为一种调试手段来调试有问题的代码,发现问题和验证修正的结果。Patch 过程分三个大的步骤:一是用diff工具比较新旧代码,生成patch文件;二是使用patch命令,将patch文件合并到原有代码;三是检查有无无法patch的文件,修改或重新选择是否对其做patch。patch打完了就可以直接编译了。patch对应到的主要命令

2015-02-27 12:46:51 710

转载 diff和patch十分钟指南

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

2015-02-26 18:21:16 618

原创 《linux c 编程一站式学习》课后部分习题解答

1、假设变量x和n是两个正整数,我们知道x/n这个表达式的结果要取Floor,例如x是17,n是4,则结果是4。如果希望结果取Ceiling应该怎么写表达式呢?例如x是17,n是4,则结果是5;x是16,n是4,则结果是4。答: (x+n-1)/n(1). 设x=kn,k为整数,即x为n的整数倍。则(x+n-1)/n=(kn+n-1)/n=((k+1)n-1)/n,此时分子没有达到n的

2015-02-22 22:16:17 2136

转载 《linux c 编程一站式学习》课后部分习题解答(一)

1、假设变量x和n是两个正整数,我们知道x/n这个表达式的结果要取Floor,例如x是17,n是4,则结果是4。如果希望结果取Ceiling应该怎么写表达式呢?例如x是17,n是4,则结果是5;x是16,n是4,则结果是4。答: (x+n-1)/n(1). 设x=kn,k为整数,即x为n的整数倍。则(x+n-1)/n=(kn+n-1)/n=((k+1)n-1)/n,此时分子没有达到n的

2015-02-21 23:12:04 2348

转载 size_t,ssize_t,int和long的区别

----------------------------------size_t--------------------------------------size_t是一些C/C++标准在stddef.h中定义的。这个类型足以用来表示对象的大小。size_t的真实类型与操作系统有关,在32位架构中被普遍定义为:typedef   unsigned int size_t;而在6

2015-02-13 10:30:03 851

转载 32位和64位系统区别及int字节数

一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器?之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(C

2015-02-13 10:23:18 727

转载 linux的mount(挂载)命令详解

在linux系统中,可以使用mount命令挂载光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享等linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、L

2015-02-12 21:38:03 627

转载 C语言,如何产生随机数(各种转载)

1. 基本函数       在C语言中取随机数所需要的函数是:int rand(void);void srand (unsigned int n);    rand()函数和srand()函数被声明在头文件stdlib.h中,所以要使用这两个函数必须包含该头文件:#include stdli

2015-02-11 19:49:09 4068

转载 C语言生产随机数的方法

尽管在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字的重复率很低,以至于它们看起来是随机的。实现这一功能的程序叫做伪随机数发生器。有关如何产生随机数的理论有许多,这里不讨论这些理论及相关的数学知识。因为讨论这一主题需要整整一本书的篇幅。这里要说的是,不管你用什么办法实现随机数发生器,你都必须给它提供一个被称为“种子(seed)”的初始值,而且这个值最好是随机的,或者至少是伪

2015-02-11 19:38:12 789

转载 Linux nm查看库中包含那些函数

一、基本概念1.1、什么是库       在 windows 平台和 linux 平台下都大量存在着库。       本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行。       由于 windows 和 linux 的平台不同(主要是编译器、汇编器和连接器 的不同),因此二者库的二进制是不兼容的。       本文仅限

2015-02-10 09:55:08 6358

转载 linux 下文件I/O编程 (open、read、write、lseek、close)

通常,一个进程打开时,都会打开3个文件:标准输入、标准输出和标准出错处理。这3个文件分别对应文件描述符为0、1和2(也就是宏替换STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO)。不带缓存的文件I/O操作,这里指的不带缓存是指每一个函数只调用系统中的一个函数。主要用到5个函数:open、read、write、lseek和close。open函数语法要

2015-02-07 23:06:45 3486

转载 C/C++语言学习——内存分配管理

1、一个由C编译的程序占用的内存分为以下几个部分  1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。  2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链

2015-02-05 13:45:57 517

转载 程序编译后运行时的内存分配

一、编译时与运行时的内存情况1.编译时不分配内存编译时是不分配内存的。此时只是根据声明时的类型进行占位,到以后程序执行时分配内存才会正确。所以声明是给编译器看的,聪明的编译器能根据声明帮你识别错误。2.运行时必分配内存运行时程序是必须调到“内存”的。因为CPU(其中有多个寄存器)只与内存打交道的。程序在进入实际内存之前要首先分配物理内存。3.编译过程只能简单说一下,因为

2015-02-05 11:44:17 1946

转载 深度剖析函数四个部分(返回值,参数,函数名,函数体)

本文汇编代码来自于程序反汇编Release模式下禁止优化。  函数分为四个部分,返回值,参数,函数名,函数体,其中返回值,参数,还有函数内部中的局部变量等都是数据,函数体都是指令,函数名实际上内存中就是一个4字节的地址。  下面首先写一个函数来解析一下函数的参数:#include "stdafx.h"void add(int a){int b=a;}in

2015-02-05 10:51:56 2514

转载 彻底搞定C指针-函数名与函数指针

函数名与函数指针一 通常的函数调用    一个通常的函数调用的例子://自行包含头文件void MyFun(int x);    //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){   MyFun(10);     //这里是调用MyFun(10);函数      return

2015-02-05 10:15:44 730

转载 C 语言中的指针和内存泄漏

避免陷阱在使用 C 语言时,您是否对花时间调试指针和内存泄漏问题感到厌倦?如果是这样,那么本文就适合您。您将了解可能导致内存破坏的指针操作类型,您还将研究一些场景,了解要在使用动态内存分配时考虑什么问题。3 评论:Manish Virmani([email protected]), 高级软件工程师, IBM2006 年 10 月 26

2015-02-05 09:54:41 412

转载 内存访问越界

1.内存越界分配的原理:何谓内存访问越界,简单的说,你向系统申请了一块内存,在使用这块内存的时候,超出了你申请的范围。例如,你明明申请的是100字节的空间,但是你由于某种原因写入了120字节,这就是内存访问越界。内存访问越界的后果是:你的写入破坏了本不属于你的空间。如下所示的代码:[cpp] view plaincopy#includ

2015-02-05 00:17:57 1868

转载 printf与scanf的返回值、注意点

转换说明意义%c把输入解释成一个字符%d解释成一个有符号十进制数%e,%f,%g,%a浮点数(%a是C99的标准)%E,%F,%G,%A浮点数(%A是C99的标准)%i有符号十进制数%o有符号八进制数%x,%X有符号十六进制整数%p一个指针%s一个

2015-02-04 21:08:20 1553

转载 scanf()函数的用法

http://virus.blog.51cto.com/51437/21395 daizh摘要:本文阐述了基于ANSI,Win 95,Win NT上的 C/C++语言中scanf()函数的用法,以及在实际使用中常见错误及对策。关键词:scanf()一、             序言在CSDN论坛的C/C++版块,我时常见到“对于sca

2015-02-04 21:06:22 1064

转载 UNIX网络编程——揭开网络编程常见API的面纱【下】

Linux网络编程数据收发的API流程分析       只要把数据在协议栈中的流动线路和脉络弄清楚了,关于协议栈的实现部分,理解起来就轻松多了。在网络编程章节的数据接收过程中,我们主要介绍过read()、recv()、recvfrom()还有一个recvmsg()没介绍到,今天我们就来看一下这几个API函数到底有什么差别。数据接收       在接收数据的过程,

2015-02-04 18:12:37 491

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

可以接收链路层MAC帧的原始套接字       前面我们介绍过了通过原始套接字socket(AF_INET, SOCK_RAW, protocol)我们可以直接实现自行构造整个IP报文,然后对其收发。提醒一点,在用这种方式构造原始IP报文时,第三个参数protocol不能用IPPROTO_IP,这样会让系统疑惑,不知道该用什么协议来伺候你了。       今天我们介绍原始套接字的另

2015-02-04 14:07:06 442

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

基于原始套接字编程       在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证:                   也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有IP头。换句话说,我们对它们头部操作的空间非常

2015-02-04 14:05:34 703

转载 Linux 编程中的API函数和系统调用的关系

API:(Application Programming Interface,应用程序编程接口)  指的是我们用户程序编程调用的如read(),write(),malloc(),free()之类的调用的是glibc库提供的库函数。API直接提供给用户编程使用,运行在用户态。  我们经常说到的POSIX(Portable Operating System Interface of Unix)

2015-02-03 18:16:16 1296

转载 How Linux kernel handles the send system call

This is a brief introduction about how Linux kernel handles the send system call.This study is based on kernel version 3.7.2, which is the latest stable kernel when writing this study.How sy

2015-02-03 17:28:29 748

转载 sys_sendto的函数实现

Question:0down votefavoriteI am trying to explore the implementation of the "sendto" socket function. I tried to find an implementation in Linux.In Linux, sendto

2015-02-03 17:15:40 2630

转载 Linux内核学习之系统调用

文章参考Linux内核修炼之道。1. 系统调用概念大家都知道操作系统的作用是管理计算机的软硬件资源,但是操作系统要向用户提供各种各样的服务,而用户应用程序访问这些服务的方式就是通过系统调用。但是一般来说,我们都是通过操作系统封装好的API(应用编程接口)来间接使用系统调用的。比如在Windows编程中,你可以调用WinAPI,他以C库的形式给出。比如在Linux当中,我们调用的re

2015-02-03 13:57:52 462

转载 解析linux patch

Patch的主要用途是给代码打补丁,修正已知的错误,或者作为一种调试手段来调试有问题的代码,发现问题和验证修正的结果。Patch 过程分三个大的步骤:一是用diff工具比较新旧代码,生成patch文件;二是使用patch命令,将patch文件合并到原有代码;三是检查有无无法patch的文件,修改或重新选择是否对其做patch。patch打完了就可以直接编译了。patch对应到的主要

2015-02-02 17:48:21 528

转载 vmlinuz、initrd.img、vmlinuz

一、vmlinuz1.vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接,比如图中是vmlinuz-2.4.7-10的软链接。vm

2015-02-02 16:45:55 3674

转载 Linux中修改环境变量及生效方法

方法一:  在/etc/profile文件中添加变量【对所有用户生效(永久的)】  用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。  要让刚才的修改马上生效,需要执行以下代码  # source /etc/profile  方法二:  在用户目录下的.bash_profile文件中增加变量

2015-02-02 10:35:47 486

转载 图解Git

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

2015-01-30 16:02:31 448

转载 比较提交 - Git Diff

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

2015-01-30 16:00:05 1261

转载 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 629

转载 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 4055

原创 ARP报文格式

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

2015-01-29 11:11:29 1693

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

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

2015-01-28 21:58:11 566

转载 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 3410

转载 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 838

转载 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 586

转载 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 902

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关注的人

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