自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gcc常用选项

要想快速定位问题,掌握一些编译器的小技巧是很必要的。在此收集了一些常用的。 主要参考了https://github.com/hellogcc/100-gcc-tips/blob/master/src/index.md。 详情可见官网。1.打印gcc预定义的宏信息 gcc -dM -E - < /dev/null …输出列表很长,没有显示全,可配合grep 查找想要的预定义...

2018-07-29 17:22:57 267

原创 linux(ubuntu)下设置在当前目录产生core文件

1.查看core文件限制 执行ulimit -a命令,显示如下: core file size (blocks, -c) 1024 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -...

2018-07-29 16:13:15 5959

原创 一个简单的c++线程池的封装

首先问三个问题:什么是线程池?线程池的优势是什么?实现原理是什么?1.线程池的概念字面意思就是”一个存放线程的池塘”,类似于内存池的概念,创建固定数量的线程,来处理多个任务,线程执行完一个任务后不销毁而是继续执行下一个任务,这样就避免了线程的频繁创建和销毁,大大提高了效率(和多线程相模型相比),这也回答了第二个问题,线程池的优势所在。2.线程池实现原理线程池不只有一个线程组...

2018-04-25 22:43:51 919

原创 redis入门

我们在学习一个新事物之前,通常会问三个问题:它是什么东西?它是如何使用的呢?它的优势是什么呢? 我觉得这是一种好的学习习惯,带着问题去学习会具有导向性,目标性。其实以上三个问题说的具体一点就是,它的定义是是什么,或者问的更深一点,它的实现原理是什么;它的基本使用方法是什么,包括使用环境,语法等等;它适用于哪些应用场景,即优势所在。1.什么是redis Redis是一个开源的使用AN...

2018-04-23 21:54:54 150

原创 linux用户和组的管理

1.创建用户 useradd user1 #创建user1用户,创建user1用户同时会创建一个同名的工作组user1 passwd user1 #设置user1用户密码 userdel -rf user1 #删除user1用户及user...

2018-03-17 23:30:04 218

原创 c++设计模式之桥接模式

1.什么是桥接模式? 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 2.应用 意图:将抽象部分与实现部分分离,使它们都可以独立的变化。 主要解决:在有多种可能会变化

2017-11-08 14:16:55 201

原创 c++设计模式之建造者模式

1.什么是建造模式?

2017-11-01 17:58:58 284

原创 c++设计模式之适配器模式

1.什么是适配器模式? 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。 2.应用 意图:将一个类的

2017-10-31 11:29:48 174

原创 c++设计模式之策略模式

1.什么是策略模式? 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 2.应用 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种

2017-10-30 18:13:17 185

原创 c++设计模式之工厂模式

1.什么是工厂模式? 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 2.工厂模式的应用 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问题。 何时使用:我们明确地计划不同条件下创建不同实例时。 如何解决:让其子类实现工厂接口,返回的也是一个抽象

2017-10-26 16:33:59 328

原创 c++设计模式之单例模式

c++单例模式1.什么是单例模式? 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 2.单例模式的应用 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 主要解决:一个全局使用的类频繁地创建与销毁。 何

2017-10-25 18:14:01 166

原创 《linux程序设计学习笔记》之一---POSIX线程

1.什么是线程?让一个进程同时做两件事情或者多件事情,看起来是非常有用的,但用fork调用创建新进程的代价太高,在这种情况下,线程就能发挥作用,他能实现两件事情或者更多事情以一种非常紧密的方式同时发生。那么什么是线程呢?在一个程序中的多个执行路线叫做线程,更准确的定义是:线程是一个进程内部的一个控制序列。弄清楚fork系统调用和创建新线程的区别非常重要。当进程执行fork系统调用时,将

2017-06-16 17:59:30 199

原创 《linux程序设计学习笔记》之一---文件和目录的维护

linux提供了一些系统调用和标准库,使得文件和目录的创建与维护提供了全面的支持。1.chmod系统调用#includeint chmod(const char *path,mode_t mode);chmod系统调用构成了shell程序chmod命令的基础,我们可以用它来改变文件或目录的访问权限。path参数指定文件,mode给出修改后的访问权限。2.chown系

2017-06-16 10:53:05 226

原创 《linux程序设计学习笔记》之一---/proc文件系统

linux系统提供了一个特殊的文件系统procfs,他通常以/proc目录的形式呈现。该目录中包含了许多特殊文件用来对驱动程序和内核信息进行更高层的访问。只要应用程序有正确的访问权限,他们就可以通过读写这些文件来获得信息或设置参数。

2017-06-15 17:40:13 294

原创 《linux程序设计学习笔记》之----初探makefile(一)

1

2017-06-14 17:41:03 232

原创 《linux程序设计学习笔记》之----进程

什么是进程?UNIX标准将其定义为:一个其中运行着一个或者多个线程的地址空间和这些线程所需要的系统资源。或者说,每个运行着的程序实例就是一个进程。正在运行的程序或进程有程序代码、数据、变量(占用着系统内存)、打开的文件(文件描述符)和环境组成。一般来说,linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份副本。每个进程都会被分配一个唯一的数字编号,我们称之为

2017-06-14 17:40:18 220

原创 《linux程序设计学习笔记》之一---标准I/O库的使用

标准I/O库中主要有如下函数;fopen、fclosefread、fwritefflush-fseek-fgetc、getc、getcharfputc、putc、putcharfgets、getsprintf、fprintf、sprintfscanf、fscanf、sscanf和底层调用一样,再启动程序时,有3个文件流的自动打开的。stdin、stdout、

2017-06-13 17:52:38 324

原创 《linux程序设计学习笔记》之一---几个常用的目录和底层调用

在linux中,几乎一切都是文件。三个重要的目录:1. /dev/console此设备代表系统控制台,错误消息和诊断信息通常会发往这个设备,每个unix(like)系统都会有一个指定的的终端或显示屏来接受控制台消息。2./dev/tty如果一个进程有控制终端的话,那么特殊文件/dev/tty就是这个控制终端的别名,例如由系统自动运行的进程和脚本就没有控制终端,所以他们不能打开d

2017-06-04 20:44:13 400

原创 关于execve函数的用法

最近遇到一个问题,就是需要在程序中调用shell脚本,然后就找到了这个函数。

2017-05-30 20:38:17 1831

原创 关于netcat命令的学习

这个素有“瑞士军刀”之称的网络工具,真是相见恨晚!!!首先,并不是所有的linux环境下都安装了netcat工具,使用which 命令查看是否安装。一、安装netcat1.下载源码包:wget https://ncu.dl.sourceforge.net/project/netcat/netcat/0.7.1/netcat-0.7.1.tar.gz2.下载后解压到安

2017-05-21 21:34:30 459

原创 linux下glibc库升级

在工作中经常遇到glibc库版本太低而导致某些软件或者命令无法运行,而此时我们就需要升级glibc库了。可在此网站下载要升级的glibc版本:下载地址:http://www.gnu.org/software/libc/    查看操作系统支持的glibc版本,执行命令strings /lib64/libc.so.6 |grep GLIBC,若是32位系统 请执行strings /lib

2016-10-11 17:32:03 2340

转载 linux下安装源码包

第1步,解压文件:源码包通常会使用tar工具归档然后用gzip或bzip2进行压缩,后缀格式会分别为.tar.gz与tar.bz2 ,解压方法:[root@linuxprobe ~]# tar xzvf FileName.tar.gz[root@linuxprobe ~]# tar jxvf FileName.tar.bz2第2步,切换到解压后的目录:

2016-09-19 16:32:56 297

转载 每天一个linux命令之top命令

top命令堪称加强版的“windows任务管理器”,如下为运行界面:来看看每一行的含义:第1行:系统时间,运行时间,登陆用户数,系统负载(分别为1分钟、5分钟、15分钟的平均值)。第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。此行数据均为CPU数据

2016-08-23 15:17:31 646

转载 linux学习:)---grep、awk、sed

grep用于查找文件里面的内容或者包含指定的范本样式的文件。语法:grep [-abcEFGhHilLnqrsvVwxy][-A][-B][-C][-d][-e][-f][--help][范本样式][文件或目录...]参数:-a或--text 不要忽略二进制的数据。-A或--after-context= 除了显示符合范本样式的那一列之外,并显示该列之后的内容

2016-08-17 17:39:37 578

转载 每天一个c++小程序(2):二维数组动态创建

#includeusing namespace std;int main(){    int **Array;    int x,y;    cin>>x>>y;//输入行数和列数         //创建行指针?    Array=new int*[x];    //为每一行分配空间    for (int p=0;p    {       

2016-08-17 17:23:44 606

转载 每天一个c++小程序(1):快速排序

#include  using namespace std;  void quickSort(int a[],int,int);  int main()  {      int array[]={34,65,12,43,67,5,78,10,3,70},k;      int len=sizeof(array)/sizeof(int);      cout    f

2016-08-17 16:25:05 1162

原创 linux学习:每天一个命令(1)---cat命令

cat命令:功能:将文档输入到当前屏幕或者另外一个文档。权限:所有用户都可以使用。使用格式:cat    —参数   filename参数说明:-n :给文档添加行号;-b: 给空白行以外的行添加行号;实例:1.将textfile1的内容添加行号以后输入到textfile2中。cat -n  textfile1 > textfile22.将textfil

2016-08-16 17:05:41 308

空空如也

空空如也

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

TA关注的人

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