自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (4)
  • 收藏
  • 关注

转载 Windows动态库跟Linux动态库之间的区别

Ref:https://stackoverflow.com/questions/16737347/shared-libraries-windows-vs-linux-methodNot actually with code relocation, that's a totally different issue. It is about a difference in architectur...

2020-01-20 16:55:36 214

原创 /proc/x/maps计算脚本

#指定--non-decimal-data运行awkBEGIN{ total_size = 0}{ rang_size = calc_size($1) total_size = total_size + rang_size printf("%s 0x%08x %s %s %s %s %s\n", $1, rang_size, $2, $3, $4, $5, $6)}END {...

2019-11-13 11:41:30 268

原创 [GoLang] 短变量声明

Short variable declarationsA short variable declaration uses the syntax:ShortVarDecl = IdentifierList ":=" ExpressionList .It is shorthand for a regular variable declaration with initializer expr...

2018-09-08 10:23:20 534

原创 [原创]从1亿个数据中找出前100个最大值

从一亿个数据中找出前100个最大值方法一:> 新建一100个红黑树节点,将输入前100个保存进去,然后全部插入红黑树T> 遍历剩下的所有输入,对每一个输入值,如果值大于红黑树中最小值,则删除最小值节点,然后修改被删除节点的值为当前输入,然后插入红黑树。复杂度为n*lg(m), n为输入数据条数,m为输出数据条数方法二:将红黑树替换成最小堆,每插入一条数据,只需要运行...

2018-09-01 01:52:46 9161

转载 OpenCL相关开源项目

https://github.com/FakenMC/cf4ocl/wiki/OpenCL-implementations

2018-08-24 10:18:25 1026

转载 转:C++类内存分布

转: https://www.cnblogs.com/jerry19880126/p/3616999.html书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:  先选择左侧的C/C++-&...

2018-08-22 20:46:14 145

原创 动态库链接boost静态库

为了避免项目布署麻烦,需要将执行文件尽量静态链接1. boost库全部静态链接2. c++库静态链接1,2点的改变如下,强制链静态库的方法为参数下为-l:libXXXX.a; 对于boost log, 需要将宏-DBOOST_LOG_DYN_LINK去掉LOCAL_STATICLIBS := boost_log boost_log_setup boost_system boost...

2018-08-21 20:42:59 5069 1

原创 RDMA相关

1. spec: InfiniBandTM Architecture Specification Volume 1 必须先看这个,理解一些基础的概念2. linux库: librdmacm, libibverbs. 这两个库源码里都有相应的sample.     https://github.com/ofiwg/librdmacm...

2018-05-18 11:24:42 310

原创 LUA元表的正确理解

TableA = {}function TableA:f1() print("TableA")endmt = {}function mt:__tostring() return "mt." .. tostring(self)endfunction mt:f2() print("mt")endmt__index = {}function mt__index:f2()

2016-08-28 19:44:44 507

原创 LUA单继承与多继承实验

-- base Class ObjectCObject = { _obj_name = "CObject"}function CObject:new (o) if (o and type(o) ~= "table") then error("base object is not a table") end o = o or {} setmetatable(o, self) se

2016-08-27 19:47:41 562

原创 UEFI抢占机制

本文件纯属个人理解,如有错误,欢迎指出1. Task Priority Level, 任务优先级任务优先级, 数值越大,优先级越高。优先级高于当前任务优先级的任务可能抢占当前中断当前任务的执行。在UEFI标准中,只有4个优先级 表格 1 任务优先级Task Priority LevelValue中断使用经典场景

2016-05-30 17:12:56 1594

原创 SynapticsTouchDriver 思维导图

2016-05-21 16:46:35 523

转载 Remove USB Device Safely

实现的功能:Remove USB Device Safely1.获取设备Handle根据卷的驱动器类型和DOS设备名,使用Windows API枚举所有磁盘,包括软盘、光盘,或者其他设备。//---------------------------------------------------------------------- // returns the devi

2016-04-12 17:58:54 680

原创 makefile中不推荐使用sinclude

makefile手册对依赖文件的生成推荐使用-include或sinclude,但存在严重隐患,不推荐使用

2015-12-20 12:51:15 2067

原创 GNU Makefile函数式编程

最近两天在写一个包含多项目,多目标编译的makefile系统,经过研究android的编译系统,发现一个非常有价值函数式用法立即展开与延后展开实例我们先来看个例子,如下文件组织./├── 1.mk├── 2.mk├── test1.c├── test2.c└── test3.c怀着美好的愿望,写了1.mkPHONY := all clean modulesCC := gccMODULE

2015-11-30 01:50:51 376

转载 文章标题

OpenGL Coordinate Systemhttp://www.matrix44.net/cms/notes/opengl-3d-graphics/coordinate-systems-in-opengl

2015-09-10 09:43:49 292

转载 usb驱动程序分析

usb驱动是linux内核中比较复杂的驱动之一,因此,大多数usb教程建议从usb-skeleton开始学习usb驱动。个人认为这是相当正确的,usb-sekelton提供了一个usb驱动开发的模板,而且代码量较少,很适合初学者的学习。    记住,对于c语言的程序设计说,数据结构是整个程序的灵魂。因此,分析别人编写的代码的简洁的入口点就是高清代码中主要数据结构之间的关系。分析以usb-s

2014-12-14 00:33:10 431

转载 xcode 5.1.1 无证书真机调试

在“”的基础上改一下

2014-09-13 23:40:43 573

原创 算法导论C语言实现: 红黑(red-black tree)

一、五条性质1. Every node is either red or black.2. The root is black.3. Every leaf (NIL ) is black.4. If a node is red, then both its children are black.5. For each node, all simple paths from th

2014-02-13 19:41:33 1221 1

转载 Android input keyevent

http://developer.android.com/reference/android/view/KeyEvent.html/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License")

2014-01-13 15:56:06 2368

原创 算法导论C语言实现: 二叉搜索树(binary tree)

1. 源代码ia_binarytree.h#ifndef __IA_BINARY_TREE_H__#define __IA_BINARY_TREE_H__#include typedef struct _binary_tree_node_t { int key; struct _binary_tree_node_t *p; struct _binary_tree_nod

2014-01-05 22:38:58 1820

转载 linux /sys文件系统介绍

http://zippyzou.blog.163.com/blog/static/14628909201132611353443/

2013-12-18 17:44:04 632

转载 linux内核异常分析

http://book.51cto.com/art/201112/308324.htm

2013-12-16 17:00:47 556

原创 算法导论C语言实现: 基本数据结构

1 stack头文件#ifndef __IA_STACK_H__#define __IA_STACK_H__#include typedef struct _iastack_t { int top; int size; int *data;} iastack_t;//return 0 for success// -1 for errorint iasta

2013-12-12 11:15:08 655

原创 算法导论C语言实现: 计数排序

#include //COUNTING-SORT//k: 0-kvoid COUNTING_SORT( __in sortdata_i_t *A, __out sortdata_i_t *B, __in int k){ int *C = (int *)malloc(sizeof(int)*(k + 1)); int i = 0; int j = 0; for (i = 0

2013-12-03 17:06:52 744

原创 算法导论C语言实现: 快速排序

#include //PARTITIONint PARTITION(int *A, int p, int r){ int x = A[r]; int i = p - 1; int j = p; int tmp = 0; for (j = p; j < r; ++j) { if (A[j] <= x) { ++i; tmp = A[i]; A[i] = A

2013-12-03 11:59:12 679

原创 算法导论C语言实现: 堆排序

1. 源代码#include typedef struct _heap_t { int length; //array length int size; //heap size int *data;} heap_t;#define PARENT(i) ((i-1)/2)#define LEFT(i) (2*i + 1)#define RIGHT(i) (2*i + 2)

2013-12-03 10:18:09 692

原创 算法导论C语言实现: 分治策略 -- 矩阵乘法的Strassen算法

先直接粘Code4_2.c#include #include #include "strassen.h"void print_mutrix(const int *A, int r, int c){ int i, j; printf("-----------------------------------\n"); for (i=0; i < r; ++i) { for

2013-11-15 18:03:32 4796

转载 Windows APP只允许一个实例

用::SetProp给主窗口添加一个具有唯一性的属性值,以便在进程初始化的时候可以通过遍历所有窗口的该属性来判断。   添加属性值的代码一般可以放在InitInstance方法的最后,如下: ::SetProp(m_pMainWnd->m_hWnd, "UNIQUE_ID", (HANDLE)UNIQUE_ID);  UNIQUE_ID是一个具有唯一性的整数值(为什么不能用字符串?

2013-10-25 11:57:52 905

转载 VBS ADODB操作帮助手册

http://www.w3schools.com/ado/met_rs_open.asp

2013-10-12 17:32:51 2480

转载 在 JNI 编程中避免内存泄漏

本文详细论述如何在 JNI 编程中避免内存泄漏。论述了 JNI 编程中可能引发的明显的内存泄漏。本文的重点是阐述 JNI 编程中潜在的内存泄漏,希望读者通过本文对 Local reference 有更深刻的理解,了解 Local reference 表的存在,区分 Local reference 和局部变量,从而认识到 Local reference 可能引发的 native memory 内存泄

2013-10-10 15:10:37 695

转载 在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: procfs、seq_file、debugfs和relayfs

http://www.ibm.com/developerworks/cn/linux/l-kerns-usrs2/

2013-09-25 15:30:45 548

转载 入门视频采集与处理(学会分析YUV数据)

转自: http://ticktick.blog.51cto.com/823160/555791     做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人

2013-09-24 17:26:29 970

转载 几个必要的名词解释 光圈 焦距 速度 景深 iso

第一节:图片质量与ISO第二节:快门第三节:光圈 第四节:测光,曝光与曝光补偿第五节:焦距和焦距转换系数第六节:景深与光圈优先第七节:白平衡与RAW第一节,图片质量与ISO ISO是一个曝光率极高的词,刚才我在超市买饼干的时候就看见包装袋上写:本公司已通过ISO9001质量体系认证。这个ISO是国际标准组织的缩写,International Standards

2013-09-11 16:36:25 2553

原创 算法导论C语言实现: 分治策略 -- 最大子数组问题

4.1 最大子数组问题#include //FIND-MAX-CROSSING-SUBARRAYstatic void find_max_crossing_subarray( __in const int *A, __in int low, __in int mid, __in int high, __out int *max_left_index, __out int

2013-08-25 16:10:58 1192

原创 算法导论C语言实现: 算法基础

2.1  插入排序#include #include #define TRACE_SUBSTEPS 1void func2_1() { int A[] = {5, 2, 4, 6, 1, 3, 10, 3, 5}; int key = 0; int j = 0, i = 0, k = 0; //============print sub title==========

2013-06-30 14:46:43 962 1

转载 adb gdb 调试android C/C++程序

http://maricoliu.iteye.com/blog/1517675基本依照上文操作,另外增加一句: gdbserver localhost:1234 mediaserver

2013-06-21 22:27:38 1162

原创 [LDD3阅读笔记]中断处理

中断处理1. 安装中断程序#include typedef irqreturn_t (*irq_handler_t)(int, void *);extern int __must_checkrequest_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,

2013-06-13 17:49:06 637

原创 [LDD3阅读笔记] 与硬件通信

1. IO端口 (Port IO)就是我们平时用的Port 80这种2. IO内存 (Memmap IO)如PCI,可以把一片寄存器映射到内存区域, 这片内存区域就叫作Memmap IO.3. 内存屏障程序会被编译器优化,但这对了访问IO可能会造成致命的错误。我们可以在对硬件以特定执行顺序的操作之间设置内存屏障(memory barrier)。

2013-06-08 17:41:24 615

原创 内存对齐(#pragma pack(n))

本文讨论限制在VC++ 编译器讨论对象:#pragma pack([n])1. 对齐原则为(参考百度百科#pragma pack词条):编译器中提供了#pragma pack(n)来设定变量以n字节对齐方式。n字节对齐就是说变量存放的起始地址的偏移量有两种情况:第一、如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式,第二、如果n小

2013-06-07 10:15:34 743

RDMA programing totorial

RDMA Programming tutorial RDMA编程指南 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2018-04-10

RDMA编程用户手册

RDMA aware programming user manual libibverbs user manual / document

2018-04-10

OpenCL编程指南 源码

OpenCL编程指南源码 OpenCL编程指南源码 OpenCL编程指南源码 OpenCL编程指南源码 OpenCL编程指南源码

2018-01-30

RBTree演示程序

红黑树图形化演示程序

2014-05-24

空空如也

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

TA关注的人

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