C与C++
文章平均质量分 70
sinpo828
这个作者很懒,什么都没留下…
展开
-
守护进程
Daemon程序编写规则 编写Daemon程序有一些基本的规则,以避免不必要的麻烦。首先是程序运行后调用fork,并让父进程退出。子进程获得一个新的进程ID,但继承了父进程的进程组ID。调用setsid创建一个新的session,使自己成为新session和新进程组的leader,并使进程没有控制终端(tty)。改变当前工作目录至根目录,以免影响可加载文件系统。或者也可以改变到某些特定的目录原创 2017-03-29 18:17:17 · 223 阅读 · 0 评论 -
Linux 获取屏幕分辨率与窗口行列数(c/c++)
获取当前分辨率#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>#include<sys/mman.h>#include<sys/ioctl.h>#include<unistd.h原创 2019-02-15 22:06:27 · 1409 阅读 · 2 评论 -
记一次函数异常(getopt_long)
前言以下参考博客以及man手册。getopt_long函数,getopt_long函数包含了getopt函数的功能,并且还可以指定“长参数”(或者说长选项),与getopt函数对比,getopt_long比其多了两个参数:int getopt(int argc, char * const argv[], const char *optstring);int getopt_long(in...原创 2018-11-07 12:03:26 · 679 阅读 · 0 评论 -
程序单实例运行
说明有时我们需要程序同时只能有一个实例在运行,或是受于资源限制或是受于锁或者其他原因。因此,需要一直机制在程序启动时候判断是否有别的实例已经在运行。这里有集中方案。用bash脚本或者supervisor之类管理工具判断,这种受于程序名字限制。用文件锁。程序启动时候往文件写入pid或其他信息,退出时释放文件锁。这里我用了第二种方式,以最简单的 c 程序给出示例。代码#define...原创 2018-11-07 11:40:27 · 298 阅读 · 0 评论 -
linux 多进程
Linux下的多进程编程初步Linux下的多进程编程初步引言多进程编程1 Linux下进程的结构2 Linux下的进程控制21 僵尸进程22 fork23 exec 函数族3 Linux下的进程间通信31 管道无名管道有名管道32 消息队列33 共享内存shmget函数shmat函数shmdt函数shmctl函数使用共享内存进行进程间通信使用共享内存的优缺点3原创 2017-03-29 17:22:52 · 2564 阅读 · 0 评论 -
c,c++变量
自动变量局部变量如不作专门说明为静态变量,都是动态分配存储空间,存储在动态存储区中。这种变量叫自动变量。这种变量只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回收是由系统自动完成的,所以也叫自动变量。一般情况下,不作专门说明的局部变量,均是自动变量。自动变量也可用关键字auto作出说明。 void f()/**/ {/**/ a原创 2017-03-29 18:34:29 · 214 阅读 · 0 评论 -
派生类构造函数顺序
写在最前面:派生类的构造函数执行顺序是(从左向右顺序): 虚基类构造函数普通基类构造函数子类构造函数其他派生类析构函数顺序,与构造函数相反顺序其他:基类可以是虚基类(添加virtual 关键字),虚基类的作用是避免多重继承导致混乱。 例如:c++ 基类:class A{ int member; //测试变量 } 一重继承:class B1: public father{原创 2017-03-24 16:00:10 · 1107 阅读 · 0 评论 -
友元函数友元类
友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。c++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。友元的正确使用能提高程序的运行效率,但同时也破坏了类的封装性和数据的隐藏性,导致程序可维护性变差。友元函数 :友元函数是可以直接访问类的私有成员的非成员函数。转载 2017-03-24 16:18:28 · 194 阅读 · 0 评论 -
解压gzip格式文件(包括网页)
先上源码参数说名: - source :gzip格式流内容。 - len: gzip流长度 - dest: 解压后字符流指针 - gzip: 压缩标志,非0时解压gzip格式,否则按照zip解压 说明:代码经过测试。解压后内容printf或者cout出来是乱码的,保存为文件是可以的,如果文件还是乱码,以utf-8打开就能正常显示(Windows默认Ansi编码,编码区别自己百度)。#i原创 2017-03-24 19:34:31 · 4894 阅读 · 1 评论 -
linux文件锁
linux文件锁建议锁、强制锁、记录锁[fcntl()、lockf、flock的区别](http://blog.chinaunix.net/uid-28541347-id-5678998.htmlflock 函数函数原型flock创建的锁是和文件描述符相关联的。fork与dup会继承flock锁多次open获取到的文件描述符fd,不继承flock锁lockf与fcntl函数原型fcntl/lock...转载 2019-03-13 15:08:03 · 421 阅读 · 0 评论