- 博客(11)
- 资源 (13)
- 收藏
- 关注
转载 C++共享内存实现(windows和linux)
共享内存是一种进程间通信的方式,速度比较快基本原理:以页面为单位,将一个普通文件映射到内存中,达到共享内存和节约内存的目的,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能windows和linux都提供了原生的系统级的C++接口,可以将文件映射到内存 windows中使用CreateFileMapping linux使用mmap代码...
2018-12-09 19:00:50
1068
转载 Map存储方式和
在上一篇帖子中说到,Map 的存储是通过数组和链表的方式实现的,这篇我就介绍一下Map 的存储结构到底是什么样的。 我们知道,数组是一组连续的存储空间, 如图所示,这是一个数组内存图,我们平常用到的数组就是在每一个小格子里面添加数组元素 而 Map 的底层实现原理中,为了快速查找到 Map 元素,用到了 HashCode() 方法 ...
2018-12-06 22:29:46
7824
1
转载 c++windows服务创建
原文地址:点击打开链接服务是一个运行在后台并且无需用户交互的控制台程序。1、 windows服务通过快捷键”win+R”打开运行框,输入”services.msc”,就能够打开windows服务。鼠标右键任意一个服务,能看见以下的选项,如下图1.1所示图1.1图1.1 windows服务本文的内容讲的就是通过windows服务控制程序的启动停止等操作。2、 DebugView...
2018-11-28 22:56:23
853
转载 C++深拷贝和浅拷贝
同类对象之间可以通过赋值运算符=互相赋值。如果没有经过重载,=的作用就是把左边的对象的每个成员变量都变得和右边的对象相等,即执行逐个字节拷贝的工作,这种拷贝叫作“浅拷贝”。有的时候,两个对象相等,从实际应用的含义上来讲,指的并不应该是两个对象的每个字节都相同,而是有其他解释,这时就需要对=进行重载。上节我们定义了 String 类,并重载了=运算符,使得 char * 类型的字符串可以赋值给 ...
2018-11-27 09:49:44
681
转载 Windows核心编程笔记第十篇(线程创建的过程和基于C/C++运行库的 _beginthreadex)
线程定义线程也是由两个部分组成的:• 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。• 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量(第1 6章将进一步介绍系统如何管理线程堆栈)。如何创建线程:HANDLE CreateThread( PSECURITY_ATTRIBUTES psa, //安...
2018-11-26 22:31:26
151
原创 c++单例模式实现
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。下面是我的c++实现代码Singleton.h#pragma once#include <afxmt.h>clas...
2018-11-26 22:07:27
149
转载 简单的Linux C++多线程CLOCK(时钟)类
/**************************************************** ***The FileName: clock.cpp *****The Author: Frank **************************** *******The Mail: frank.love.u@qq.com ************** ***Crea...
2018-11-21 23:53:15
463
转载 Linux平台Makefile文件的编写基础篇
目的: 基本掌握了 make 的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include <stdio.h> ...
2018-11-20 22:50:16
221
转载 linux 下 gdb没有符号表被读取。请使用"file" 命令
由于sublime没有调试功能,所以Linux 下调试还是要用gdb退出后,使用gdb时遇到这个问题,刚开始接触linux下使用gdb调试程序,生成断点时,出现linux gdb 没有符号表被读取。请使用 "file" 命令。其原因是生成的二进制可执行文件没有使用-g选项。gcc中-g选项是为了获得有关调试信息,要用gdb进行调试,必须使用-g生成二进制可执行文件,1.删除该程序原...
2018-11-20 00:22:43
550
转载 基于Linux/C++简单线程池的实现
我们知道Java语言对于多线程的支持十分丰富,JDK本身提供了很多性能优良的库,包括ThreadPoolExecutor和ScheduleThreadPoolExecutor等。C++11中的STL也提供了std:thread(然而我还没有看,这里先占个坑)还有很多第三方库的实现。这里我重复“造轮子”的目的还是为了深入理解C++和Linux线程基础概念,主要以学习的目的。首先,为什么要使用线程...
2018-11-18 21:10:57
137
转载 c++语法基础
前言最近发现要学习C++来开发NDK,不得不把基础的东西记录下来,否则学的太多会混淆,废话不多说,开始记录我的C++学习之旅吧HelloWord 导库 命名空间 输出函数#include <iostream>//必须带有命名空间才能使用cout等using namespace std;int main(){ cout <<...
2018-11-08 22:31:45
153
xpsdk6-10part.rar
2019-12-20
xpsdk1-5part.rar
2019-12-20
gsoap代码,包含服务单和客户端
2019-01-10
android又测滑动导航、抽屉效果,更换背景图片
2016-03-03
android仿天天动听部分代码
2016-03-01
androi在线考试系统
2015-07-31
android反编译工具
2014-11-18
java socket多人聊天(文字+图片+文件)qincidong
2014-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人