自定义博客皮肤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)
  • 收藏
  • 关注

转载 基于条件变量阻塞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 996

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

转载 int *ptr=(int *)(&a+1)问题的探讨

#include int main(void){ int a[5] = { 1, 2, 3, 4, 5}; int *ptr = (int*)(&a + 1); int *ptr2 = (int*) &a; ptr2 +=1 ; printf("%d %d %d \n", *(a + 1),*(ptr - 1) ,*ptr2 ); return 0;}输出为:2,5

2015-01-05 11:08:19 566

原创 Linux基础正则表达式grep

本文内容摘抄自《鸟哥的Linux私房菜》---------------------------------------------------------分割线------------------------------------------------一、查找特定的字符串(忽略大小写)grep -in 'the' regular_express.txt二、利用中括号[ ]来查找

2015-01-05 11:04:51 503

转载 Linux watchdog

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备,就会导致在内核中启动一个 1分钟的定时器,此后,用户空间程序需要保证在 1分钟之内向这个

2015-01-05 11:01:47 533

原创 Linux命令之awk

AWK 是一种用于处理文本的编程语言工具。AWK 在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法。在最初创造 AWK 时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据中有模式匹配,就执行一系列指令。该实用工具扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下一行。

2015-01-04 16:54:36 705

转载 Makefile中的export

嵌入式Linux中文站帮助大家学习Makefile,在shell中,可以使用export修改当前进程的环境变量。例如,export PATH=.:$PATH就可以将当前路径加入可执行文件查找路径中,这样你就不要敲“./excutable” 来执行当前路径中的excutable。而只需要键入 “excutable” 就行了。make可以执行shell命令,当然也包括export。同时

2014-12-31 14:11:43 3248

转载 嵌套执行make

嵌套执行make在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而不至于把所有的东西全部写在一个Makefile中,这样会很难维护我们的Makefile,这个技术对于我们模块编译和分段编译有着非常大的好处。例如,我们有一个子目录叫subdir,这个目录

2014-12-31 14:02:07 609

转载 makefile 中 $@ $^ %< 使用

这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非

2014-12-30 18:02:10 443

转载 C|C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别

static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 全局变量、局部变量、静态全局变量、静态局部变量的区别 C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,

2014-12-26 14:17:56 659

转载 再谈typedef(重点为函数指针)

有种很方便的写法。typedef int *p;p pointer;这时直接把pointer带入原式中,取代p然后去掉typedef,得到的结果就是int * pointer;哈哈,这样直接替换就很直观多了。C语言语法简单,但内涵却博大精深;如果在学习时只是止步于表面,那么往往后期会遇到很多困难。typedef是C语言中一个很好用的工具,大量存在于已有代码中,特别值得一提的是:

2014-12-25 16:44:59 417

转载 typedef 函数指针的用法(附例子)

进入正文: 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数

2014-12-25 14:56:59 571

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

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