
Operating system related
文章平均质量分 73
学习system
zhczzm
互联网大厂工作,10年linux下 c++开发经验,从事性能优化调优工作,对c11/c14/c17新特性有深刻的认识,对于c++代码异常处理有比较多的实战经验,精通linux下coredump分析,网络通信,数据结构和算法。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IP地址,同一网段,子网掩码,默认网关,添加路由
自己在学习网络通信的这个过程中,渐渐的对网络的一些基本知识,有了一种了解,突然想把这里的一些基本的问题,进行下总结,也给自己留个笔记。(1)IP首先来说说ip地址吧,IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址的作用很简单,就像是我们每个人的家庭住址都有个门牌号码一样,你在整个的互联网环境下,...原创 2017-09-24 08:09:14 · 15732 阅读 · 1 评论 -
关于VS2013中的生成,重新生成,仅用于项目生成,重新生成
最近在编写代码中遇到了一个非常奇葩的问题,就是我再头文件中添加了一个锁的定义,就导致程序编译后必现崩溃,而且崩溃点和我的代码没有啥关系,后来花了将近一天的时间,定位出原因是我没有重新生成,而只是生成。下面说说下面四个的区别1.生成2.重新生成3.仅用于项目生成4.仅用于项目重新生成当一个解决方案中的项目没有依赖项目时,1.3相同,2.4相同。生成的意思是,如果你之前已经编译过了,那生成只是进行编译你改变的文件,不改变的文件就不再重新编译,直接进行连接了,这个在项目工程文件比较大的原创 2020-06-05 22:13:11 · 1882 阅读 · 0 评论 -
线程,进程,程序,服务,看门狗,之间的关系和区别
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.线程的引入原创 2017-11-13 11:01:27 · 8164 阅读 · 2 评论 -
windows下线程同步的常见方法:CreateEvent和SetEvent及WaitForSingleObject windows下常见锁的实现 EnterCriticalSection
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定原创 2016-12-03 14:26:58 · 795 阅读 · 0 评论 -
windows环境变量
%PATH% 代表的是可执行文件的搜索路径,默认为 Windows 目录(C:\windows)和系统目录(C:\windows\system32),在此两个目录中的文件或文件夹不需要输入完整路径即可通过运行打开。windows 用户变量和系统变量中的Path差别 点击“我的电脑→属性→高级系统设置”标签的“环境变量”button,出现“环境变量”对话框,假设当前是以Administ...原创 2019-10-21 11:30:48 · 159 阅读 · 0 评论 -
Windows下的防火墙出入站规则以及远程桌面的防火墙应用总结
1.入站规则和出站规则最近在搞windows下的打包程序,然后将自己包中的所有的exe都添加到了入站规则和出站规则,然后对入站规则和出战规则有了进一步的理解。之前写了一个小demo,就是一个tcp的客户端和服务器端。当然完全可以拿socket tools 来进行演示。我只是说下原理,就是服务器绑定115端口,然后客户端和服务器建立连接,然后发送一个数据,客户端连接来了,服务器收到数...原创 2020-03-16 18:00:37 · 5825 阅读 · 0 评论 -
Linux下静态库与动态库的引用关系深入分析
很久就想写一篇关于动态库和静态库互相引用的一篇文章,但是总感觉准备不充分,而一直没有勇气下笔,最近在和同事的讨论中,似乎有了一些新的认识,想把这些记录下来,和大家进行一次分享,同时也是做一次记录。这篇文章将从以下几个方面进行分析讲解1.程序的编译过程2.什么是静态编译,动态编译3.如何生成静态库,如何生成动态库4.动态库和静态库相互引用后,应用程序是否可以只使用一个库(例如:应用用到了静态库a,而静态库a里使用了库b,那么应用程序是不是只要链接a就可以了呢)5.动态库的两种加载方原创 2022-04-24 16:20:09 · 5754 阅读 · 0 评论 -
标准输入、标准输出、标准错误(以及前后台启动程序)
之前一直想写一篇文章总结下,标准输入、标准输出、标准错误,首先这三个对应的是三个文件描述符,这三个对应的文件描述符数值是 0,1,2,而这三个文件描述符是共享的,也就是每一个打开的终端都共享这三个文件描述符,看下下面的表格:当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们使用:类型 文件描述符 默认情况 对应文件句柄位置 标准输入(standard input) 0 从键盘获得输入 /proc/self/fd/0 标准输出(原创 2022-02-17 15:05:30 · 3944 阅读 · 0 评论 -
linux下调试程序学习笔记二
在上节的内容中简单的描述了下如果用gdb来看崩溃的程序,这一节进行动态库相关崩溃问题的定位以一个软件为例子,已经设置了生成core文件。在软件运行中形成了 一个core文件1.到core文件目录,然后执行 对应的core文件分析指令如下[root@localhost Core]# gdb /home/root/puc/Server/Business core-Business-11-4786-1601178659具体的格式就是 gdb 加上可执行文件 dump文件输出如下:GNU g.原创 2020-09-27 17:24:46 · 573 阅读 · 0 评论 -
linux下调试程序学习笔记
今天学习了linux下程序的编译以及运行,看崩溃文件,以及用gdb调试程序1.gcc安装完虚拟机默认携带,需要安装g++ yum gcc_g++编写一个cpp文件,内容如下: 1 #include<iostream> 2 using namespace std; 3 int main() 4 5 { 6 int *p=NULL; 7 int a=3; 8 p=&a; 9 de...原创 2020-09-25 16:47:24 · 224 阅读 · 0 评论 -
linux下find与grep的区别
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。...原创 2020-04-02 18:25:52 · 851 阅读 · 0 评论 -
sh文件、shell、shell脚本、bat文件、batch、bat脚本
1.shell(壳)shell是一个shell脚本解释器,是一个运行在Linux系统下的批处理脚本解释器,通过这个窗口建立用户和Linux系统底层提供的一系列方法的交互;.sh就是一种运行在Linux系统下的文件,文件中存储的shell脚本;2.batch(批处理)个人理解,batch和shell类似,只不过其运行在windows环境下;.bat文件就是运行在windows环境下的...原创 2019-12-12 14:01:26 · 2282 阅读 · 0 评论 -
我在~目录下面没有.vimrc和.vim目录是为什么?
我安装的debian我的根用户和普通用户的目录里面~/ 都没有.vimrc和 .vim目录,请问我在哪里修改我的vim的配置。我可以在/etc/vim/里面找到vimrc等东西。也可以在/usr/share/vim/里面找到vimrc但就是不能在用户目录里面找到--------------------------------------------------------------...原创 2019-10-29 14:39:45 · 14496 阅读 · 1 评论 -
windows 下环境变量 path 详解
在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH。正确地配置这些环境变量,是能够顺利学习、开发的前提。而经常出现的问题是:有的学习者能够按照提示一步一步地正确配置,但时间一长就忘了,出现了问题也无从下手。究其原因,就是对这些概念没有理解,知其然但不知其所以然。下面的内容,就是帮助大家知其所以然。一、基本原理 首先看PATH环境转载 2016-10-14 09:06:22 · 40453 阅读 · 3 评论