- 博客(12)
- 资源 (8)
- 收藏
- 关注
原创 对linux内核的container_of和offsetof宏的理解
linux内核中存在container_of宏,其定义如下:/** * container_of - cast a member of a structure out to the containing structure * @ptr: 指向结构体中member这个成员的指针. * @type: 表示此结构体的类型. * @member: 所求结构体中的某
2017-07-22 23:38:38
762
原创 虚拟机下dedora10的/mnt/hgfs文件下找不到共享文件share解决办法!
新换了一家公司,天天加班的要命,好久没有玩linux了~~~,最近买了台新电脑,主机是win10操作系统,用的不习惯,安装虚拟机核fedora10,发现设置的共享文件"share"在/mnt/hgfs找不到。解决办法参考了网上的方法。在这里自己也总结一下:1、重新安装VMwareTools,如下。点击以后桌面上出现一个Wware Tools的光盘。将里面的VMwareTools-8.8
2017-04-03 22:36:59
4047
原创 UART协议详解
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART
2016-07-14 01:13:56
47767
转载 深入浅出 RPC - 深入篇
《深入篇》我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它?RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种实现结构,基于 stu
2016-05-17 00:29:22
808
转载 深入浅出 RPC - 浅出篇
近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对其原理也不甚了了。缺乏对原理层面的理解,往往也会造成开发中的一些误用。 本文分上下两篇《浅出篇》和《深入篇》,其目标就是想尝试深入浅
2016-05-17 00:01:22
802
原创 arm-linux系统下加入glog日志
一、glog介绍 glog 是 Google 开发的一种轻量级C++日志库,使用方法十分简洁、用在程序中也十分的轻巧。 主要支持以下功能: 1 参数设置,通过设置标志参数来控制日志记录行为; 2 严重性分级,根据日志严重性分级记录日志; 3 可有条件地记录日志信息; 4 条件中止程序,丰富的条件判定宏,可预设程序终止条件; 5 异常信号处理。程序异常情况,可自定义异常处理过程;
2016-05-10 18:16:50
5960
原创 arm-linux下的多线程调试
gdb是UNIX及UNIX-like下的调试工具。在linux下开发的人一定不会陌生,在arm-linux下也有对应的调试版本。下面记录一下在工作中用到的一些在arm-linux下用gdb调试多线程的一些知识。一、下载调试工具 工程中使用了arm-none-linux-gnueabi-gcc编译器,提供一个下载网站arm-none-linux-gnueabi-gcc。 安转以后执行 a
2016-05-09 13:51:22
3222
转载 Makefile 中:= ?= += =的区别
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endififeq ($(OPT),add
2016-05-05 14:08:43
467
原创 Linux下多线程编程实例解析
提到线程,不得不让人想起进程,所以还是先写下进程与线程的区别吧! 一、进程与线程的区别 进程是程序执行的一个实例,进程有其自己独立的地址空间。一个线程可以含有多个线程,这也是为了提高系统资源利用率,线程的引入有其必然的优势,线程有自己的堆栈。记得操作系统的书籍上有一句经典的话”进程——资源分配的最小单位,线程——程序执行的最小单位“。一个通俗的比喻:进程就像一个人,而线程就好像人体内协
2016-04-07 20:01:02
5566
原创 linux下多线程间通信之信号量,消息队列的综合运用
一、消息队列介绍 消息队列是消息的链接表,存放在内核中。其实质上就是一个内核链表,消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。对消息队列有写权限的进程可以按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读出消息。消息队列是随内核持续的并和进程相关, 系统中
2016-04-05 10:10:24
6420
1
原创 C++中的单例模式
一、单例模式简介: 在设计或者开发中,肯定会有一种情况,一个类只能有一个对象被创建,如果有多个对象的话,可能会导致混乱或者不一致。就比如在一个系统中,有一个管理配置信息的类,显然一个系统中只能有一份配置信息,所以这个类就可以用一个单例模式来实现。单例模式有多种实现方式,下面介绍三种:饿汉式,懒汉式,多线程式。 单例模式的好处: 1.确保一个类只能创建一个实例。
2016-04-01 00:24:45
777
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人