模拟tcmalloc,实现一个高并发内存池,探索内存池的原理及多线程的运行的场景。
本篇文章,继续与大家分享与Linux相关的知识。本次内容主要会涉及到什么是进程间通信,为什么要有进程间通信,怎么实现进程间通信,管道原理和管道的应用。
本篇文章,继续来和大家分享与Linux相关的知识。本次内容主要涉及程序没加载前的地址,程序加载后的地址以及动态库的地址。
本篇文章,继续来和大家分享与Linux相关的知识。本次的内容主要涉及动静态库的制作,使用以及动态库是如何加载的。
本篇文章,继续来和大家分享于Linux相关的知识。本次涉及的内容主要是未打开文件和打开文件联系以及向打开的文件写入数据是如何到达磁盘的。
本篇文章,继续来和大家分享与Linux相关的知识。本次的主要内容是文件系统和软硬链接。不过,我们会先认识磁盘,再过度到文件系统。
本篇文章,继续来和大家分享与Linux相关的知识。本次内容主要涉及什么是用户级缓冲区,C语言缓冲区的原理和模拟C语言中的缓冲区。
本篇文章,继续和大家分享与Linux相关的知识。本次的内容主要会涉及重定向的功能,原理,模拟实现以及如何理解Linux中一切皆文件。
本篇文章,继续和大家分享与Linux相关的知识。本次会涉及的主要内容是文件描述符file descriptor(后续我们简称fd)以及与它相关的知识。
本篇文章,继续来和大家分享与Linux相关的知识。本次文章的内容主要会涉及到实现一个简易的shell,旨在理解shell的原理,并将我们前面分享的文章的知识,简单的串一遍。
本篇文章,继续来和大家分享与Linux相关的知识。本篇文章主要涉及的内容为进程替换的原理,进程替换函数的使用以及进程替换的演示
本篇文章,继续和大家来分享与Linux相关的知识。本篇文章主要涉及的知识内容是进程等待。
本篇文章,继续来和大家分享与Linux相关的知识。本篇文章的内容主要会涉及到进程的创建和进程的终止。
本篇文章,继续和大家分享与Linux相关的知识。本篇文章的内容主要会涉及进程地址空间。
本篇文章,继续和大家分享与Linux相关的知识。本篇文章的主要内容会涉及到进程的相关的一些其他概念,程序计数器寄存器,进程的上下文以及环境变量等等。
本篇文章,继续和大家分享与Linux相关的只是。本篇文章主要会涉及到进程的状态和进程的优先级。
本篇文章,继续来和大家分享与进程相关的知识。本篇文章主要内容是如何使用fork创建进程和进程的状态。
上一篇文章我们解决了为什么要有操作系统以及操作系统是什么的问题。本篇文章我们来回答操作系统是如何管理软硬件的问题以及讲清楚什么是进程。
本篇文章会涉及到冯诺依曼体系结构和操作系统
本篇文章,我们来认识认识Java这门编程语言。Java名称滴由来这门编程语言,取名叫Java。据说是祖师爷詹姆斯高斯林,非常喜欢喝咖啡。印度尼西亚有一个盛产咖啡的豆的岛屿,叫爪哇岛。于是,就取了个和岛名相近读音的名字,Java。Java是一直更新的。下面是它的一个发展史。目前,公司长期使用的是版本是JDK8。在安装完,相应的Java开发环境后。可以有两种方式,来进行编程开发。Java开发第一种,是
本篇文章,我们继续分享与Linux相关的知识。本次的内容是如何使用gdb,gdb。可执行程序,有两个发行版本,一个是debug版本,一个是release版本。gcc编译器编译时,默认是以release版本发行的。release版本是没法进行调试的。哪我们怎么以debug版本发布呢?gcc -g选项我们在gcc编译的时候,加上-g选项就可以以debug的版本发行了。readelf指令通过readel
本篇文章,我们接着了解和Linux相关的知识。本次内容会包含如何实现一个进度条小程序,什么是git以及在Linux怎么用git管理仓库。上一篇文章,我们已经简单认识了回车换行,缓冲区的概念。现在,我们结合我们的所学,在Linux上实现一个进度条小程序。进度条首先,我们先创建三个普通文件,main.c、processBar.c、processBar.h。在processBar.h头文件里,我们需要声
本篇文章,我们继续分享与Linux相关的知识。本次分享的主要内容是make/Makefile工具的用法,怎么去使用make/Makefile这个工具来完成代码的编译,生成一个可执行程序。make/Makefile上一篇文章,我们简单的介绍了make/Makefile这个工具。make是一条指令,Makefile是当前目录下的一个文件。下面,我们来见见make/Makefile这个工具的使用。我们先
经过前面的学习,我们了解vim这个编辑器,学会了如何使用它来写代码。今天,我们先解决前面遗留下的问题,再来认识gcc/g++编辑器。
今天,和大家分享一些与Linux中工具相关的知识。本篇文章包含了如何去安装,有那些值得安装的软件等知识。Linux的软件安装在Linux中,我们安装软件的方式,主要有三种。一是,源代码安装。别人直接把源代码给,让你自己安装。这种方式不推荐,即使是程序员也会十分头疼,刚刚修好一个bug,又报一堆错误。实在没有办法的时候,才选择这种方式,进行安装。二是,rpm包安装。这种方式,也不推荐。首先,同一款软
上篇文章,我们认识了很多指令,比如man指令,当我们不记得函数怎么用时,可以用man手册来进行查找。比如echo指令,它会把它后面跟着的字符,当成字符串,打印到显示屏中。比如cat指令,用于查看文本文件中的内容。与它功能类似的指令还有less指令和more指令,less指令,它的功能最强,在查看文本文件内容时,可以随意上下移动查看。而more指令,它的功能相对于less指令的功能就稍微弱一点。在查
上篇文章,我们分享了几个基本的指令。我们可以通过pwd指令来查看我们当前所在的路径,可以通过cd指令切换我们所在的路径,可以通过touch指令来创建普通文件,可以通过mkdir指令来创建目录文件,可以通过ls指令来查看当前路径下的文件等等。本篇文章,我们继续分享一些常用的基本指令。本次文章会涉及man,echo,cat,cp,mv,which,alias,more,less,head,tail等指
今天,和大家分享与模板相关的知识,本次内容主要为函数模板和类模板。泛型编程大家还记得怎么去实现交换函数吗?我们以int类型作为例子,实现出一个交换函数。我们来测试一下:从运行结果看,交换函数的功能并没有什么问题。好了,我们有了int类型的交换函数了。可是,现在我不想交换int类型的数据了,我想交换double类型的数据了,这个函数能实现吗?我们把变量a和变量b的类型换成double看看。很明显,编
今天,和大家分享一些与内存管理相关的知识,本次的内容主要是new和delete的使用。内存这一块的知识,我们在学习C语言的时候,就有作相对细致的了解。我们现在来写几道题。做一个简单的回顾复习。内存的分布我们先来看看,下面一段代码:int globalVar = 1; static int staticGlobalVar = 1; void Test() { static int staticVar
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号