- 博客(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长期演进理论与实践
2011-11-17
EDA技术实用教程(第三版)答案
2010-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人