- 博客(14)
- 资源 (14)
- 收藏
- 关注
转载 Linux: 文件锁及其实例
1. 文件锁基本概念Linux中软件、硬件资源都是文件(一切皆文件),文件在多用户环境中是可共享的。文件锁是用于解决资源的共享使用的一种机制:当多个用户需要共享一个文件时,Linux通常采用的方法是给文件上锁,来避免共享的资源产生竞争的状态。文件锁包括建议性锁和强制性锁:建议性锁:要求每个使用上锁文件的进程都要检查是否有锁存在,并且尊重已有的锁。在一般情况下,内核和系统都不使用建
2017-01-17 16:56:47 597
原创 守护进程
Daemon(精灵)进程,是Linux中的后台服务进程,生存期较长的进程,通常独立于控制终 端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程编程步骤 1. 创建子进程,父进程退出 所有工作在子进程中进行 形式上脱离了控制终端 2. 在子进程中创建新会话 setsid()函数 使子进程完全独立出来,脱离控制 3. 改变当前目录为根目录
2017-01-17 16:08:32 232
原创 stl_alloc.h
#ifndef __SGI_STL_INTERNAL_ALLOC_H#define __SGI_STL_INTERNAL_ALLOC_H#ifdef __SUNPRO_CC# define __PRIVATE public // Extra access restrictions prevent us from really making some things // pri
2017-01-16 17:34:03 459
原创 设计一个简单的空间配置器 JJ::allocator
#ifndef _JJALLOC_ #define _JJALLOC_ #include//for placement new #include//for ptrdiff_t,size_t #include//for UINT_MAX #include//for cerr namespace JJ {
2017-01-16 16:39:37 603
转载 C++ 内存分配(new,operator new)详解
转自:http://blog.csdn.net/wudaijun/article/details/9273339本文主要讲述C++ new关键字和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用。一. new operator 和 operator newnew oper
2017-01-15 23:13:39 345
原创 stl之std::alloctor 配置器源码
#include "new.h"#include #include #include #include "iostream.h"#include "algobase.h"template inline _Tp* allocate(ptrdiff_t __size, _Tp*) { set_new_handler(0); _Tp* __tmp = (_Tp*)(::
2017-01-15 21:48:02 441
转载 C++STL内存配置的设计思想与关键源码分析
说明:我认为要读懂STL中allocator部分的源码,并汲取它的思想,至少以下几点知识你要了解:operator new和operator delete、handler函数以及一点模板知识。否则,下面你很可能看不大明白,补充点知识再学习STL源码比较好。下面会结合关键源码分析C++STL(SGI版本)的内存配置器设计思想。关键词既然是“思想”,所以重点也就呼之欲出了。 1、all
2017-01-14 21:40:03 215
转载 一般函数指针和类的成员函数指针
函数指针是通过指向函数的指针间接调用函数。函数指针可以实现对参数类型、参数顺序、返回值都相同的函数进行封装,是多态的一种实现方式。由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的指针和一般函数的指针的表现形式不一样。1、指向一般函数的指针函数指针的声明中就包括了函数的参数类型、顺序和返回值,只能把相匹配的函数地址赋值给函数指针。为了封装同类型的函数,可以把函数指针作为
2017-01-12 10:36:43 215
转载 GTK+2.0之初始学习篇(二)—— g_signal_connect宏解释及HelloWorld
GTK+2.0中利用信号/回调函数机制来处理窗口外部传来的事件、消息或信号。 以下实现的是单击窗口关闭按钮,窗口自动关闭。在程序中调用了gtk_main_quit()函数实现退出主循环。#includevoid on_delete_event(); //函数声明int main(int argc, char* argv[]){ GtkWidget *window;
2017-01-05 17:06:50 11708 2
原创 STL中的仿函数
#include #include #include using namespace std;templateclass Print{public: void operator()(const T&elm) { cout << elm << ' '; }};struct Plus{ int operator()(const int& x, const int&
2017-01-04 23:49:00 549
原创 C++ 匿名对象
#include using namespace std;class Cat{public: Cat() { cout << "Cat construct" << endl; } Cat(Cat& obj) { cout << "Cat copy construct" << endl; } ~Cat() { cout << "Cat destruct"
2017-01-04 16:28:21 585
原创 C++11智能指针之unique_ptr
1. 智能指针概念智能指针是基于RAII机制实现的类(模板),具有指针的行为(重载了operator*与operator->操作符),可以“智能”地销毁其所指对象。C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针,可以对动态资源进行管理2. unique_ptr概念unique_ptr“唯一”拥有其所指对象,同一时刻只能有一个uniq
2017-01-03 11:27:57 429
转载 Google 的开源技术protobuf 简介与例子
今天来介绍一下“ProtocolBuffers”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于里面扯到了protobuf,想想干脆单独开一个帖子算了。 ★protobuf是啥玩意儿? 为了照顾从没听说过的同学,照例先来扫盲一把。 首先,protobuf是一个开源项目(官方站点在“这里”)
2017-01-02 10:24:01 241
转载 WebRTC音频处理流程概述
摘要:本文主要介绍WebRTC的APM。WebRTC强大的技术和易用性在此不再累述。研究了RTC那么久的时间,在国内的社区和论坛鲜见详细介绍其中具体技术的文章和讨论。因此准备花点时间总结一下自己对WebRTC 的Audio Processing Module 的理解。希望国内能有更多做音频算法的同行集思广益,推进音频技术的发展。现在主要介绍一下audio_processing.h。
2017-01-01 22:37:30 1597
libjingle学习笔记
2017-01-03
RPM for Oracle11g
2016-10-05
Java编程思想第四版完整中文高清版
2015-06-03
UNIX环境高级编程(第二版中文)
2015-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人