随笔分类 -  C/C++

摘要:记得之前有同事吐槽过Java中居然没有缺省参数这个东西,想要达到缺省参数的目的只能靠蹩脚的函数重载。但今天发现了C++中缺省参数的坑。 C++中的virtual函数是动态绑定的,而缺省值却是静态绑定的。 举例来说: class Shape{ public: virturl void draw(Col 阅读全文
posted @ 2017-12-13 21:54 爱吃土豆的男孩 阅读(218) 评论(0) 推荐(0)
摘要:d [编号] d: Delete breakpoint的简写,删除指定编号的某个断点,或删除所有断点。断点编号从1开始递增。 (gdb) d s 相当于其它调试器中的“Step Into (单步跟踪进入)”;n 相当于其它调试器中的“Step Over (单步跟踪)”。 这两个命令必须在有源代码调试 阅读全文
posted @ 2017-09-22 20:06 爱吃土豆的男孩 阅读(275) 评论(0) 推荐(0)
摘要:一、启动 >>gdb启动 gdb 调试之前加载调试符号,即编译时候加 –g选项,如 gcc file.c –g –o target 启用gdb的方法种有3种,一种是启动core,还有是attach一个已经运行的进程。 1. gdb <program> 2. gdb <program> core 用g 阅读全文
posted @ 2017-09-22 20:03 爱吃土豆的男孩 阅读(560) 评论(0) 推荐(0)
摘要:使用匿名管道 一、什么是管道 如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另一个进程的通道,它通常是用作把一个进程的输出通过管道连接到另一个进程的输入。 举个例子,在shell中输 阅读全文
posted @ 2017-08-22 17:06 爱吃土豆的男孩 阅读(6980) 评论(0) 推荐(1)
摘要:一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。 Linux用宏MSGM 阅读全文
posted @ 2017-08-22 16:40 爱吃土豆的男孩 阅读(4056) 评论(0) 推荐(0)
摘要:介绍内存共享前,说下之前的误区,觉得,可以用指针来在父子进程中传递数据,其实,在fork()后,父子进程的地址空间是相互独立的!所以在父子进程间传递指针是没有意义的。 这里就涉及到物理地址和逻辑地址(或称虚拟地址)的概念。 从逻辑地址到物理地址的映射称为地址重定向。分为: 静态重定向--在程序装入主 阅读全文
posted @ 2017-08-22 16:27 爱吃土豆的男孩 阅读(15106) 评论(0) 推荐(1)
摘要:signal.h是C标准函数库中的信号处理部分, 定义了程序执行时如何处理不同的信号。信号用作进程间通信, 报告异常行为(如除零)、用户的一些按键组合(如同时按下Ctrl与C键,产生信号SIGINT)。 C++中的对应头文件是csignal。 /**linux下signum.h**/ /* Sign 阅读全文
posted @ 2017-08-22 15:43 爱吃土豆的男孩 阅读(2286) 评论(0) 推荐(0)
摘要:原文:http://blog.csdn.NET/nvd11/article/details/8856278 假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdlib.h> 这个头文件中包含了1个调用shell命令或者脚本的函数 阅读全文
posted @ 2017-08-22 14:12 爱吃土豆的男孩 阅读(4216) 评论(0) 推荐(1)
摘要:Semaphore(信号量) C中有两个信号量的头文件<semaphore.h> 和<sys/sem.h>。 <sys/sem.h> provides the interface for XSI (originally Unix System V) semaphores. <semaphore.h> 阅读全文
posted @ 2017-08-22 11:11 爱吃土豆的男孩 阅读(445) 评论(0) 推荐(0)
摘要:https://baike.baidu.com/item/%E8%99%9A%E5%87%BD%E6%95%B0/2912832?fr=aladdin 在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体} 阅读全文
posted @ 2017-08-21 16:36 爱吃土豆的男孩 阅读(150) 评论(0) 推荐(0)
摘要:https://www.ibm.com/developerworks/cn/linux/l-affinity.html 阅读全文
posted @ 2017-08-16 15:45 爱吃土豆的男孩 阅读(1565) 评论(0) 推荐(0)
摘要:【转】http://www.cnblogs.com/cv-pr/p/6206921.html 1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转 阅读全文
posted @ 2017-08-16 11:04 爱吃土豆的男孩 阅读(446) 评论(0) 推荐(0)
摘要:命令模式: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。例:http://www.cnblogs.com/wangjq/archive/2012/07/11/2585930.html 优点 1 解除了请求者与实现者之间的耦合,降低 阅读全文
posted @ 2017-08-15 20:01 爱吃土豆的男孩 阅读(175) 评论(0) 推荐(0)
摘要:桥接模式: 转自:http://blog.csdn.net/wuzhekai1985/article/details/6670473 [DP]书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和 阅读全文
posted @ 2017-08-15 17:55 爱吃土豆的男孩 阅读(134) 评论(0) 推荐(0)
摘要:外观模式: DP一书的定义:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 例:http://blog.csdn.net/wuzhekai1985/article/details/6667564 举个编译器的例子,假设编译一个程序需要经过四 阅读全文
posted @ 2017-08-15 15:29 爱吃土豆的男孩 阅读(161) 评论(0) 推荐(0)
摘要:原型模式: 原型模式,DP书上的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 主要用于获取深拷贝的对象。 例子:参考自:http://blog.csdn.net/wuzhekai1985/article/details/6667020 模板方法模型: 模板方法模式:定义一 阅读全文
posted @ 2017-08-15 14:47 爱吃土豆的男孩 阅读(157) 评论(0) 推荐(0)
摘要://SingletonA.h #pragma once #include "Singleton.h" class SingletonA: public Singleton { friend class Singleton; //必须为友元类,否则父类无法访问子类的构造函数 public: void  阅读全文
posted @ 2017-08-15 14:14 爱吃土豆的男孩 阅读(2299) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/qiaoconglovelife/p/5851163.html 1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保 阅读全文
posted @ 2017-08-15 14:11 爱吃土豆的男孩 阅读(278) 评论(0) 推荐(0)
摘要:OpenMP是一个业界的标准,很早以前就有了,只是近一段时间才逐渐热起来。我们 可以在C/C++和Fortran使用OpenMP、很容易的引入多线程。 #pragma omp parallel { } 这样代码就会并行执行 加上#pragma omp for for循环中的任务会自动分配到不同线程中 阅读全文
posted @ 2017-08-14 14:57 爱吃土豆的男孩 阅读(748) 评论(0) 推荐(0)
摘要:snprintf是sprintf的升级版,加了一个参数n,有效防止写入字符串超过预期长度。 snprintf若成功则返回欲写入的字符串长度,若出错则返回负值。 sprintf的返回值是成功写入的字符串长度。 #include <iostream> #include <stdlib.h> #inclu 阅读全文
posted @ 2017-08-14 10:39 爱吃土豆的男孩 阅读(609) 评论(0) 推荐(0)