8 frank_jb

尚未进行身份认证

我要认证

向着代码前进

等级
TA的排名 1w+

git切换分支相互影响的问题

问题描述: 今天遇到一个git分支切换的问题,我在分支A上做了修改,然后切换到其他分支后发现其他分支上也存在A分支上的修改。(我记得之前碰到这种情况,是无法切换分支的,git会提醒当前A分支上有未提交的改动,这次虽然能切换了(当时就感觉奇怪),果然又碰到现在这个问题)原因:如果当前分支所做的修改没有提交就切换去其他分支也会看到相同的修改,所以解决这个问题有两个办法。 解决办法:用git add和git commit提交修改,只要用 git status 检查工作区和暂存区是干净的就可以了。 那..

2020-10-16 23:19:15

c语言中sizeof详解

解析C语言中的sizeof一、sizeof的概念sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法1、用于数据类型 sizeof使用形式:sizeof(type)  数据类型必须用括号括住。如sizeof(int)。2、用于变量 sizeof使用形式:sizeof(var_name)或..

2020-10-15 23:55:19

git 常用命令总结

git clone /vob/xx_workspace/sdk_xx zhangsan_xx_gz //克隆一个分支到xx_xx_gzgit clone zhangsan@192.168.5.183:/vob/xx_workspace/sdk_xx zhangsan_xx/cd zhangsan_xx_gzgit checkout master //切换到master分支,master分支是创建工作区是默认创建的分支,可以直接切换远程分支git checkout filenam...

2020-09-30 23:27:14

git分支介绍

.1 Git 分支 - 何谓分支何谓分支为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。或许你还记得第一章的内容,Git 保存的不是文件差异或者变化量,而只是一系列文件快照。在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对象的父对象指针:首次提交是没有直接祖先的,普通提交有一个祖先,由两个或多个分支合并产生的提交则有多个祖先。为直观起见,我们假设在工作目录

2020-09-30 22:24:00

交换机端口vlan tag/untag处理情况

为了理解VLAN内报文的转发,就必须要知道交换机对于不同VLAN报文的tag/untag的处理原则。首先,需要明确一点就是,在交换机的内部,为了快速高效的处理,报文都是带tag转发的。其实,这点很好理解,因为交换机上很可能会配置多个VLAN,那不同VLAN流量区分只有依靠tag标签。下面从报文入和报文出两个方向来介绍。l报文入方向:在入方向上,交换机的根本任务就是决定该报文是否允许进入该端口,根据入报文的tag/untag的属性以及端口属性,细分为如下情况:1)...

2020-09-29 23:07:25

vlan原理详解

1.为什么需要VLAN1.1什么是VLAN?VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast F.

2020-09-29 23:01:21

DHCP协议说明及报文分析

DHCP几个概念:DHCP Client:DHCP客户端,通过DHCP协议请求IP地址的客户端。DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP 客户端。交换机上每个Vlan接口也可以配置成一个DHCP客户端。DHCP Server:DHCP 服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。DHCP Relay:DHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP报文的转发功能。DHCP Securi

2020-09-29 22:50:21

C语言中移位操作

先要了解一下C语言里所有的位运算都是指二进制数的位运算。即使输入的是十进制的数,在内存中也是存储为二进制形式。“<<”用法:格式是:a<<m,a和m必须是整型表达式,要求m>=0。功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。“>>”用法:格式是:a>>m,a和m必须是整型表达式,要求m>=0。功能...

2019-07-25 18:19:06

Linux内核事件通知链

Linux内核事件通知链一、概念:大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。通知链表是一个函数链表,链表上的每一个节点都注册了一个函数。当某个事情发生时,链表上所有节点对...

2019-06-21 14:11:47

Linux slab 分配器剖析

Linux slab 分配器剖析了解 Linux 内存管理的方式动态内存管理内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能:最小化管理内存所需的时间 最大化用于一般应用的可用内存(最小化管理开销)内存管理实际上是一种关于权衡的零和游戏。您可以开发一种使用少量内存进行管理的算法,但是要花费更多时间来管理可用内存。也可...

2019-06-21 13:33:23

Linux写时拷贝(COW)

COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。 那么子进程的物理空间没有代码,怎么去取指令执行exec系统调用呢? 在fork之后exec之前两个进程用...

2019-05-30 17:25:21

多进程引用动态链接库中的全局变量问题

多进程引用动态链接库中的全局变量问题现象描述:前提:存在一个动态库libvlan.so,存在一个应用console。做法:在console中调用libvlan.so中的两个APIs,分别是设置和获取动态库中一个全局变量的值。结果:在console中的操作没有问题,设置和获取都正常;但在动态库中打印该全局变量,其值并没有改变。结论:动态库中的全局变量,在被其他进程使用...

2019-05-23 16:37:09

linux内核中的IS_ERR()、PTR_ERR()和ERR_PTR()

linux内核中的IS_ERR()、PTR_ERR()和ERR_PTR()在看内核源码的时候,经常会遇到IS_ERR,比如在linux/arch/arm/kernel/sys_arm.c中asmlinkage int sys_execve(char __user *filenamei, char __user * __user *argv,char __user * __...

2019-05-23 16:12:40

automake,autoconf使用详解

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了.在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的 Makefile,这样就可以象常见的 GNU程序一样,...

2019-03-29 18:27:36

使用shell转换Mac Address

shell脚本中变量截取的应用实例:将MAC Address 由0123456789abc转换成12:34:56:78:9a:bc格式。#!/bin/bash#! change MAC address in mac_list.txt from 0123456789abc to 12:34:56:78:9a:bccat mac_list.txt | while read line |...

2019-01-11 18:22:07

C语言函数隐式声明——implicit declaration warning

implicit declaration of function——函数隐式声明警告原因:1、该函数未被声明,但却被调用了,此时gcc会报这样的警告信息。2、(网友总结)该函数所在源文件没有被编译为.o二进制文件。解决办法:1、在调用之前先声明这个函数,一般使用extern关键字(该关键字非必需)   声明函数可以不加extern,函数默认extern;声明变量必须要加extern...

2018-12-28 14:24:48

C语言函数隐式声明(2)

1 什么是C语言的隐式函数声明在C语言中,函数在调用前不一定非要声明。如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码。下面是一个例子:int main(int argc, char** argv){    double x = any_name_function();    return 0;}单纯的编译上述源代码,并没有任何报...

2018-12-27 19:28:15

C语言函数隐式声明(1)

这段时间,在看中心后台服务软件源码时发现,有很多自定义函数未经声明却能在主程序中被调用,主程序中没有包括上述函数的头文件,我在各个目录中也找不到上述函数的头文件。这就奇怪了,连使用标准库函数printf()都要包括标准输入输出头文件<stdio.h>,何况是自定义函数?这个问题困扰了我很久。前天问中创公司奚钟华,他说:确实没有头文件,他也试过,在原来的目录中编写了一些新的函数,照葫芦画...

2018-12-27 19:24:17

GCC 编译报错——suggest parentheses around comparison in operand of

warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]该警告希望你在&(逻辑与)表达式左右加上括号。有的时候&&(逻辑且)少写了一个&,也会产生该警告。 例如:   if((a[2]>>1)&0x1 == 1){   ...

2018-12-25 09:29:30

第一次有人把5G解释的这么清楚

这一切,要从一个“神奇的公式”说起,就是这个公式! 还记得这个公式的,请骄傲地为自己鼓个掌,如果不记得,或是看不懂,也没关系,“一个科普”解释一下。 就是这个超简单的公式,蕴含了我们无线通信技术的博大精深,无论是往事随风的1G、2G、3G,还是意气风发的4G、5G,说来说去,都是在这个数学公式上做文章。有线?无线?通信技术,无论什么黑科技白科技,只分两种——有线...

2018-12-18 20:28:22

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。