自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 virtual 函数的理解

1.类的地址2.类中的函数地址在哪里 ,成员函数,继承的函数,虚函数3.继承的数据,私有数据

2020-04-28 01:07:22 199

原创 malloc底层实现的理解

1.申请的是虚拟内存空间,当访问时候才真正的分配内存,这也就是说 malloc 并不会去初始化申请空间里的数据。2.申请的空间小于128k时候 用 brk() 函数实现,在堆中去推 _edata 的指针 ,大于128k时候 用mmap()函数实现;3.释放的时候用 free()函数。4.合并空闲区域5.内存紧缩...

2020-04-27 23:15:28 164

原创 new/delete的理解

要回答的问题:自由内存与堆的区别?new与malloc 谁的效率更高new会进行初始化 int * p = new int(); *p = new int 默认为零初始化数组时 int * p = new int NUM; or int *p = new int [NUM];与malloc 的不同是 ,new 是一个表达式1.1 规则new/delete是关键字,...

2020-04-26 21:24:19 202

原创 消息队列

#include <stdio.h>#include<sys/msg.h>#include<fcntl.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#include<sys/wait.h>void CHECK( int ret , c...

2020-03-17 20:43:45 111 1

原创 共享内存shmget() mmap()以及大页内存的使用问题

key shmid owner perms bytes nattch status0x00000000 5 luois1 600 16777216 2 dest0x00000333 10 luois1 600 524288 2...

2020-03-14 23:26:21 1544

原创 popen() 的应用

#include<stdio.h>FLIE * fp = popen(“ls -l”,“r”);失败为空,只要是指针的类型,返回值均为空,只要是判断的函数,失败为0,成功为1;fread(buf , sizeof(char),sizeof(buf),fp); 把结果定向到 buf 里面popen() 与exec 族函数不同的是,popen()还是要转回来 执行自己的函数// a...

2020-03-11 18:38:09 137

原创 printf()刷新缓冲区的问题与exit()/_exit()退出的问题

1.遇到“\n”,立即刷新缓冲区。2.程序调用fflush函数刷新缓冲区3.程序以exit结束,缓冲区会刷新。如果以_exit结束,缓冲区数据会被直接清空。4.缓冲区满,也会将缓冲区数据刷新出来。5.程序结束后,缓冲区被打印6.输出缓冲区的大小是1024个字节简而言之,输出缓冲区呢,时一个有头有尾的数组,遇到换行符 或者 满的时候,程序正常退出的时候,会被打印出来#include &...

2020-03-10 12:23:57 1055

原创 守护进程

一、守护进程的概念:守护进程就是通常说的daemon进程,是linux后台执行的一种进程,他的特点就是,生存周期长,独立于控制终端并且周期性的执行某种任务,不会随着终端的关闭而停止运行,直到接收到停止信息才会结束运行。二、守护进程的创建:1 创建子进程,父进程退出。为什么做这一步? 由于守护进程是脱离终端而存在的,所以先给终端一种假死的状态,之后的工作都在子进程中进行。 ...

2020-03-04 14:17:17 185

原创 僵尸进程/孤儿进程的成因和解决方法

孤儿进程: 一个父进程退出,而它的一个或者多个子进程还在运行,那么这些子进程就将成为孤儿进程。孤儿进程将被nit进程(进程号为1)所收养,并有init进程对他们状态收集工作。父进程先结束,释放了资源,然而子进程没人管了,由系统托管来释放资源,这就变成了孤儿进程。僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或者waitpid获取子进程的状态信息,那么子进程的...

2020-03-04 12:03:54 594

原创 select ()函数的使用与原理问题

1.使用定义集合fd_set rdset;清空集合FD_ZERO( & rdset)绑定与清除FD_SET(fdr, &rdset ) , or FD_SET(STDIN_FILENO, &rdset);FD_CLR ( fdr , &rdset) , or FD_CLR( STDIN_FILENO ,& rdset) ;select ()...

2020-03-03 22:30:33 180

原创 dup()函数

#include <stdio.h>#include<fcntl.h>#include<unistd.h>int main(int argc , char *argv[]){ if ( argc <2 ) { perror("error"); } int fd1, fd2; fd1 = ...

2020-02-29 19:34:19 1333

原创 makefile的替换与分离文件名字

SRCS:=(wildcard∗.c)ELFS:=(wildcard *.c)ELFS:=(wildcard∗.c)ELFS:=(SRCS:%.c=%)将所有的 SRCS 代表所有的.c文件,ELFS 代表所有的 .c 文件去掉后缀后的文件名SRCS:=(wildcard∗.c)ELFS:=(wildcard *.c)ELFS:=(wildcard∗.c)ELFS:=(SRCS:%.c=...

2020-02-28 10:24:02 1121

原创 管道pipe通信 命令行mkfifo与函数定义

在命令行中 定义管道文件 1.pipe 2.pipemkfifo 1.pipe 2.pipe#include <stdio.h>#include<fcntl.h>#include<stdlib.h>#include<unistd.h>#include<string.h>int main(int argc ,char * a...

2020-02-27 23:09:41 304

原创 ssh免密登录

1.生成id_rsa.pub 公钥文件ssh -keygen -t rsa不断点回车在~/.ssh文件下又 两个文件 一个私钥 和一个公钥2.将公钥文件发送到目标主机 scp ~/.ssh/id_ras.pub [email protected] :~/.ssh/authorized_keys 复制到这一个文件夹之下。不能随便更改。3.ssh [email protected]不再使用密...

2020-02-27 17:43:55 98

原创 grep正则表达式

grep -ngrep -Egrep-nEgrep -F 字面值. 任意字符? 1-多次0-多次(与find .c不同)[]任意范围内字符< > 单词前面的空白,单词后面的空白 <you>单词的边界^ A 集合A 在行首A$ 集合 结尾 { $ 花括号结尾A+ 0-1 次A 0-多次A?1-多次A{m, n} m -n次数...

2020-02-27 10:52:36 100

原创 linux 进程编程

getpid () ; process idgetppid(); parent process idgeteuid () ; 有效idgetegid () ; 有效组id#include <stdio.h>#include<stdlib.h>#include<unistd.h>int main(){ printf("pid: %d ...

2020-02-27 00:26:38 98

原创 WinScp不能登录root的解决方法

sudo /etc/ssh/sshd_config将 PermitRootLogin without-password 修改为 PermitRootLogin yes 若有 # 去掉#sudo service ssh restartWinScp重新登录root

2020-02-26 16:20:48 2008

原创 解决ubuntu 下载慢的问题

更换/etc/apt/sources.list文件里的源备份源列表Ubuntu配置的默认源并不是国内的服务器,下载更新软件都比较慢。首先备份源列表文件sources.list:首先备份源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup打开sources.list文件修改选择合适的源,替换原文件的内容,保存编...

2020-02-26 15:09:28 846 1

原创 shell基本使用教程

shell编程1 . 没有数据类型,都是字符串,数值也时字符串创建变量 a = 'hello ’ echo aechoa echoaecho{a} echo “${a}” 三者等价echo ahelloecho"helloba hello echo "hello bahelloecho"helloba a" “” 双引号,消除$ ”“ ‘’ 三种意外的其他字符的意义...

2020-02-23 17:14:21 177

原创 vim编辑入门

查找和替换/string eg /hello部分替换 在一行上替换 ????/string/dst:3,6s/string/dst 3-6行内替换全部替换:%s/string/dst: %s/^//g2.注释移动光标到要注释的首行ctrl +v 进入行选择模式大写I 输入//esc 注释完成如果 ctrl +v 被占用 调整快捷键3.进制:%!xxd 十六进制 模式:%...

2020-02-23 15:27:48 143

原创 gcc的编译与gdb调试

.c 文件用 gcc.cc 文件用g++gcc -E main.c -o main.i 预编译 宏替换gcc -S main.i -o main.s 编译 汇编语言as mian.s -o main.o 汇编 单个的二进制目标文件 可以在命令行输入 nm main.ogcc -o main main.o 链接 ...

2020-02-23 11:33:39 343

原创 linux基础

1 . 切换用户su 用户名 ex: su root (会提示输入密码)sudo 再普通用户的权限下,完成root 的工作ex: sudo apt-get upgrade 安装更新2.创建 用户useradd 用户名user , 目录 /home 下,会出现名为user 的用户普通用户下,要用加上sudo , sudo useradd user1unbuntu 下要加入 -m...

2020-02-22 21:01:17 118

原创 vim辑器不完美界面之vimplus的完美安装教程+youcompleteme

尽管对于大神来说 利用没有任何插件的IDE环境编程,没有任何的压力 ,但对于大多数刚入Linux小白的来说 就算看着安装插件的教程,也没未必安装的好。本菜的学习vim 的时间虽然只有一周的,但其间试图找一款适合本菜的插件,找了20个小时(手动捂脸,我只是搬运工),功夫不用有心人,终于找到了一款傻瓜式安装教程安装vimplus 插件,总共只需三步走。unbuntu/Mac/centos系统下的安装...

2019-05-22 20:11:07 4112

空空如也

空空如也

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

TA关注的人

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