自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 多个指针指向同一个位置赋值为空

多个指针指向同一个地址,这样使用没什么问题,只是操作时要注意。 因为,每个指针变量保存的值,仅仅是指向的内容的地址值。多个指向同一个地址的指针,若其中一个指针等于NULL,不影响另一个指针。 代码 29 int* a = new int(10); 30 int* c = a; 31 32 delete c; // 指向的那块内存内容(new int(10)释放 33 c = NULL // 仅让c的值变为 null, a的值(地址)未变 34 35 if (a !...

2020-08-10 11:23:43 442

原创 深入理解linux内核中的IS_ERR()、PTR_ERR()、ERR_PTR()

一、函数原型1、static inline void *ERR_PTR(long error){ return (void *) error;}将整数转换成指针 打印%p就是在计算机里存储的内容。如-1 返回的地址是0xffffffffffffffff。这里的-1为什么是0xffffffffffffffff。其实这是计算机存储的。是-1的补码 。什么是补码请继续往下看。2、static inline long PTR_ERR(const void *ptr){...

2020-07-23 09:21:00 650

原创 linux 用户态和内核态通信proc系统

1、proc系统是一个虚拟的系统机器在一启动的时候就已经挂在上了,其原理我们不在分析。之后我们只管用proc系统就ok了。内核提供了一些api来操作proc系统。这里主要就是创建目录proc_mkdir ,创建文件proc_create 和create_proc_entry,删除remove_proc_entry2、proc_create 和create_proc_entry 都说有区别实质是一样的。区别在于proc_create 参数传入了file_operations *proc_fops,fi

2020-07-03 14:33:58 529

原创 lsof进程打开的文件

lsof 它专门用来查看进程打开文件列表,不过,这里的“文件”不只有普通文件,还包括了目录、块设备、动态库、网络套接字等;常用选项:-p:指定进程pid(不能查看线程,这个要注意)-i:查看网络连接信息(默认ipv4和ipv6的连接信息全部显示)-i4:只查看ipv4的网络连接信息-i4tcp:只查看ipv4,并且协议为tcp的网络连接信息(udp协议:-i4udp)-i4:http:只查看ipv4,http服务的网络连接信息(服务名字以在/e...

2020-05-14 13:19:02 220

原创 linux gz文件解压

.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName

2020-05-13 10:08:38 260

原创 syslog服务重启

service rsyslog restart

2020-05-07 11:47:58 4683

原创 inode分配

new_inode(sb) 这是给inode分配一个新的空间里面调用inode_init_always会给inode赋初始值如果注册了自己的函数 if (sb->s_op->alloc_inode) inode = sb->s_op->alloc_inode(sb); else inode = kmem_cache_alloc...

2020-02-25 09:56:22 445

原创 mount -t 调用过程

mount是如何实现自己写的文件系统的挂在的。1.mount -t 选择是自己文件系统的类型。其实也就是 /sbin/目录下的文件名字 mount的代码实现 sprintf(mountprog, "/sbin/mount.%s", type);2.获取到自己写的可执行文件后mount会fork 子进程去执行 实现代码res = fork();execv(mountprog, moun...

2020-02-24 10:02:44 5114

原创 centos 配置kdump crash 之后卡住不重启

问题描述:service kdump status 显示正常greab 文件也配置了crashkernel=128M就是 echo c > /proc/sysrq-trigger 系统不重启卡住不动键盘灯闪烁解决:1、卸载rpm包重新安装kexec-tools-2.0.0-273.el6.x86_64 和 system-config-kdump-2.0.5-15.e...

2019-09-26 15:07:52 1784

原创 centos源码下载

http://www.360doc.com/content/16/1018/12/18525993_599328687.shtml

2019-08-06 13:28:12 448

转载 svn生成patch和打(导入)patch文件的方法

生成patch文件:svn diff > patchFile // 整个工程的变动生成patch或svn diff file > patchFile // 某个文件单独变动的patchsvn回滚:svn revert FILE // 单个文件回滚svn revert DIR --depth=infinity // 整个目录进行递归回滚打patch:patch -p...

2019-05-27 11:56:27 1363

转载 字节对齐问题详解

struct A{ int a; char b; short c;};struct B{ char b; int a; short c;};sizeof(strcut A)值为8;sizeof(struct B)的值却是12。https://www.cnblogs.com/clover-toeic/p/38...

2019-05-20 16:12:39 101

原创 内核调试打印内容

直接结构体名字 加地址 前提是知道地址。 struct slab ffffffff8116ed24mod -s nnnn./nnnn.ko 加载模块自己的模块#12 [ffff881064c1bbd8] rpc_run_task at ffffffffa0567475 [sunrpc]#13 [ffff881064c1bbf8] enfs_session_call_sync at...

2019-05-09 13:16:37 152

原创 内核__link_path_walk函数详解

做文件系统软连接时候,分析nfs的实现时候。用dump_stack() 发现__link_path_walk函数被调用。这个函数已经多次被使用,都没有细究。现在觉得深入的了解一下。调用过程调用do_lookup这个来返回文件的属性,如果是链接文件则进行特殊的处理do_follow_link...

2019-05-09 10:25:40 891

原创 nfs日志打开

sysctl -w sunrpc.nfs_debug=65535客户端日志打开,0表示关闭。sysctl -w sunrpc.nfsd_debug=1023nfs服务端日志打开,0表示关闭。

2019-05-05 10:32:49 2515

原创 如何编译内核源码和单独的内核模块

总论:工作需求用了centos内核中sunrpc的库。因为用了库所以相应的log就没有。所以决定从新编译sunrpc.ko并添加自己的日志。1、下载对应的内核源码(uname -r 显示 2.6.32-431.el6.x86_64)应为是centos的源码所以要去centos官网下载。不要在内核源码官网下载,因为也没有对应的版本号。centos源码包(这个包含各种命令的源码例如libc库的...

2019-04-26 09:32:37 1905

转载 poll

poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。  #include   int poll(struct pollfd fd[], nfds_t nfds, int timeout);    参数:   1)第一个参数:一个结构数组,struct pollfd结构如下:  struct pollfd{  int fd;            

2015-07-23 17:03:21 351

转载 select函数

网络编程中一个很重要的函数,没有整理,直接转过来,讲的还是蛮详细的。转自:http://blog.csdn.net/zhw888888/archive/2009/03/29/4034515.aspx   Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom

2015-07-23 16:35:23 336

原创 ubantu下安装搜狗输入法

安装了多次,决定总结一下。1、http://pinyin.sogou.com/linux/ 在这个网址上下载搜狗输入法。点击立即下载64bit之后就会跳转到另一个网址2、跳转网址为http://pinyin.sogou.com/linux/help.php按照里面的安装步骤进行。3、语言设置要选择一下。4、重新启动就ok了

2015-07-22 13:11:22 473

转载 shell tr命令

linux tr命令详解(2011-06-29 15:27:28)转载▼标签:杂谈     通过使用tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr所能够做的。    t

2015-07-22 11:13:30 358

原创 ubantu中使用ssh服务

问题:在访问远程的时候显示 Permission denied, please try again.    这里是不允许远程登录的方法:修改/etc/ssh/sshd_config   中有一行PermitRootLogin without-password    将其修改为yes或者直接用#注释掉就ok了后续:之后要重新启动服务   service sshd restart   

2015-07-20 16:43:03 764

原创 vim中插入多行一样的字符

首先ctrl+v进入列选择->按大写I进入插入模式->输入要插入的字符->按Esc键退出->就好了

2015-05-21 14:41:23 2905

原创 vim拆屏

大写的O参数垂直拆屏vim -On file1 file2小写的o参数水平拆屏vim -on file1 file2注意

2015-05-14 08:58:25 341

原创 复制的代码整体向右移动一个Table

先在可视的模式下(按v)选中要移动的行。之后安>  Tab 就可以了。

2015-05-08 10:13:32 1048

原创 linux中将整个目录移动到另一个目录中

mv -vr nihao /path/you/shoudao。-r表示递归,-v表示verbosenihao是一个目录文件 后面的也是一个目录文件。

2015-04-30 17:36:10 25494 1

原创 open函数读文件最后乱码

我今天用open函数读取一个文件到一个字符指针指向的空间,之后我用字符串分割函数分割后传到一个字符指针数组中,这是我在读取字符指针数组里里面的内容的时候出现乱码。百思不得其解之后我read的时候少读一个字符就是最后的未零。之后自己在在读出字符串指针后面加上未零。最后问题解决了。哈哈

2015-04-26 21:56:16 863

原创 多个c文件中用共同的变量

这是要建立一个点h的文件  这个变量的定义要在点h中定义之后其他的部分及点c要用就只需要声明一下就可以了eg  touch  lwcde.h#ifndef  LWC_DEBUG#define  LWC_DEBUGint lwcwaibu = 10;#endiftouch file1.c#include "lwcde.h"extern int lwcw

2015-04-22 10:52:32 540

原创 vim 的使用

字符串的查找:/要找的字符        按n向后找 按N向前找字符串的替换:vim 中可用 :s 命令来替换字符串,具体如下::s/str1/str2/ 替换当前行第一个 str1 为 str2:s/str1/str2/g 替换当前行中所有 str1 为 str2:m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2:m,ns/st

2015-04-22 09:23:45 496

原创 字符串指针

字符串指针的定义和初始化在C语言中,字符串指针不一定需要初始化,而仅当需要读取指针所指向的内容前,需要初始化。当然,从编程的实践来说,定义一个字符串指针,最好进行初始化工作。比如:char *p = "Hello world";

2015-04-21 14:36:51 306

原创 puts

puts()函数用来向标准输出设备写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。

2014-10-25 11:51:17 540

原创 system的用法

system函数 是可以调用一些DOS命令,比如system("cls");//清屏,等于在DOS上使用cls命令写可执行文件路径,可以运行它system

2014-10-25 11:39:02 573

原创 百度网盘看自己关注的人

先用百度账号登陆之后------个人中心--------左上角点网盘---------

2014-10-21 18:58:02 1056

原创 查看一个或多个文件一共有多少行

wc -l filename 就是查看文件里有多少行wc -w filename 看文件里有多少个word。       wc -L filename 文件里最长的那一行是多少个字。

2014-10-16 21:17:02 1344

原创 keil的激活

在激活keil时要右击以管理员的身份运行

2014-10-12 17:19:53 918

原创 QT链接数据库MySql

要先安装QT在安装MySql

2014-04-20 23:12:42 486

原创 计算机多盘符

右击磁盘

2014-04-20 23:02:50 591

空空如也

空空如也

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

TA关注的人

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