- 博客(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
269
原创 /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
344
原创 [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
599
原创 [原创]从1亿个数据中找出前100个最大值
从一亿个数据中找出前100个最大值方法一:> 新建一100个红黑树节点,将输入前100个保存进去,然后全部插入红黑树T> 遍历剩下的所有输入,对每一个输入值,如果值大于红黑树中最小值,则删除最小值节点,然后修改被删除节点的值为当前输入,然后插入红黑树。复杂度为n*lg(m), n为输入数据条数,m为输出数据条数方法二:将红黑树替换成最小堆,每插入一条数据,只需要运行...
2018-09-01 01:52:46
9305
转载 OpenCL相关开源项目
https://github.com/FakenMC/cf4ocl/wiki/OpenCL-implementations
2018-08-24 10:18:25
1163
转载 转:C++类内存分布
转: https://www.cnblogs.com/jerry19880126/p/3616999.html书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来: 先选择左侧的C/C++-&...
2018-08-22 20:46:14
190
原创 动态库链接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
5281
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
414
原创 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
542
原创 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
606
原创 UEFI抢占机制
本文件纯属个人理解,如有错误,欢迎指出1. Task Priority Level, 任务优先级任务优先级, 数值越大,优先级越高。优先级高于当前任务优先级的任务可能抢占当前中断当前任务的执行。在UEFI标准中,只有4个优先级 表格 1 任务优先级Task Priority LevelValue中断使用经典场景
2016-05-30 17:12:56
1717
转载 Remove USB Device Safely
实现的功能:Remove USB Device Safely1.获取设备Handle根据卷的驱动器类型和DOS设备名,使用Windows API枚举所有磁盘,包括软盘、光盘,或者其他设备。//---------------------------------------------------------------------- // returns the devi
2016-04-12 17:58:54
732
原创 makefile中不推荐使用sinclude
makefile手册对依赖文件的生成推荐使用-include或sinclude,但存在严重隐患,不推荐使用
2015-12-20 12:51:15
2121
原创 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
455
转载 文章标题
OpenGL Coordinate Systemhttp://www.matrix44.net/cms/notes/opengl-3d-graphics/coordinate-systems-in-opengl
2015-09-10 09:43:49
328
转载 usb驱动程序分析
usb驱动是linux内核中比较复杂的驱动之一,因此,大多数usb教程建议从usb-skeleton开始学习usb驱动。个人认为这是相当正确的,usb-sekelton提供了一个usb驱动开发的模板,而且代码量较少,很适合初学者的学习。 记住,对于c语言的程序设计说,数据结构是整个程序的灵魂。因此,分析别人编写的代码的简洁的入口点就是高清代码中主要数据结构之间的关系。分析以usb-s
2014-12-14 00:33:10
471
原创 算法导论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
1287
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
2462
原创 算法导论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
1893
转载 linux /sys文件系统介绍
http://zippyzou.blog.163.com/blog/static/14628909201132611353443/
2013-12-18 17:44:04
678
原创 算法导论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
714
原创 算法导论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
788
原创 算法导论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
711
原创 算法导论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
732
原创 算法导论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
4897
转载 Windows APP只允许一个实例
用::SetProp给主窗口添加一个具有唯一性的属性值,以便在进程初始化的时候可以通过遍历所有窗口的该属性来判断。 添加属性值的代码一般可以放在InitInstance方法的最后,如下: ::SetProp(m_pMainWnd->m_hWnd, "UNIQUE_ID", (HANDLE)UNIQUE_ID); UNIQUE_ID是一个具有唯一性的整数值(为什么不能用字符串?
2013-10-25 11:57:52
944
转载 在 JNI 编程中避免内存泄漏
本文详细论述如何在 JNI 编程中避免内存泄漏。论述了 JNI 编程中可能引发的明显的内存泄漏。本文的重点是阐述 JNI 编程中潜在的内存泄漏,希望读者通过本文对 Local reference 有更深刻的理解,了解 Local reference 表的存在,区分 Local reference 和局部变量,从而认识到 Local reference 可能引发的 native memory 内存泄
2013-10-10 15:10:37
726
转载 在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: procfs、seq_file、debugfs和relayfs
http://www.ibm.com/developerworks/cn/linux/l-kerns-usrs2/
2013-09-25 15:30:45
582
转载 入门视频采集与处理(学会分析YUV数据)
转自: http://ticktick.blog.51cto.com/823160/555791 做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人
2013-09-24 17:26:29
1013
转载 几个必要的名词解释 光圈 焦距 速度 景深 iso
第一节:图片质量与ISO第二节:快门第三节:光圈 第四节:测光,曝光与曝光补偿第五节:焦距和焦距转换系数第六节:景深与光圈优先第七节:白平衡与RAW第一节,图片质量与ISO ISO是一个曝光率极高的词,刚才我在超市买饼干的时候就看见包装袋上写:本公司已通过ISO9001质量体系认证。这个ISO是国际标准组织的缩写,International Standards
2013-09-11 16:36:25
2660
原创 算法导论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
1244
原创 算法导论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
1088
1
转载 adb gdb 调试android C/C++程序
http://maricoliu.iteye.com/blog/1517675基本依照上文操作,另外增加一句: gdbserver localhost:1234 mediaserver
2013-06-21 22:27:38
1221
原创 [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
673
原创 [LDD3阅读笔记] 与硬件通信
1. IO端口 (Port IO)就是我们平时用的Port 80这种2. IO内存 (Memmap IO)如PCI,可以把一片寄存器映射到内存区域, 这片内存区域就叫作Memmap IO.3. 内存屏障程序会被编译器优化,但这对了访问IO可能会造成致命的错误。我们可以在对硬件以特定执行顺序的操作之间设置内存屏障(memory barrier)。
2013-06-08 17:41:24
650
原创 内存对齐(#pragma pack(n))
本文讨论限制在VC++ 编译器讨论对象:#pragma pack([n])1. 对齐原则为(参考百度百科#pragma pack词条):编译器中提供了#pragma pack(n)来设定变量以n字节对齐方式。n字节对齐就是说变量存放的起始地址的偏移量有两种情况:第一、如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式,第二、如果n小
2013-06-07 10:15:34
790
RDMA programing totorial
2018-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人