- 博客(44)
- 资源 (11)
- 收藏
- 关注

原创 windows API 勾子内幕初探
这篇技术文章英文原文来源于www.codeguru.com,经过本人翻译和修改术语约定:hook/hooking:勾子,勾挂,勾子技术,监控进程标志:process tokenspying system :监控系统或监视系统Win32 subsystem API: Win32子系统APINative API:本地APIIntercept:干预/干涉Import
2008-03-19 09:23:00
2304
1

原创 在linux svgalib环境下画二叉树-更新代码(15)
我放在chinaunix上的源码:点击下载 原来代码有错,现在补上 这是画二叉树的改良版本,可能你需要看前面和画树相关的那篇文章描述才能看懂这篇文章。 由于前一个版本画树时是按照满树的位置来画的,所以如果一棵树如果非常高而节点又比较少时,其实一个屏幕画不了,很多节点就超出屏幕范围了,其缺点不公是在于此,还在于当我用它来表示红黑树时,不能用不同颜色来画,因此这个版本 的实
2008-02-22 03:00:00
1135
转载 shader Blend混合模式讲解
内容说明: 1.混合(blend)说明 2.在OpenGL中的使用 3. Unity中的使用 1. 什么是混合 混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。 假设...
2019-07-26 10:11:45
10107
转载 Unity3D的四种坐标系
Unity3D的四种坐标系【Unity3D的四种坐标系】1、World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。2、Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是...
2019-07-25 17:52:34
393
转载 toLua++使用(转)
tolua++的最新版本是5.0,下载地址:http://www.tecgraf.puc-rio.br/~celes/tolua/http://www.codenix.com/~tolua/#download以下是简单的使用说明: 功能内容:可以在LUA脚本中使用C++的方便对象,包含创建,释放,调用成员函数文件包括:Main.cpp,tClass.cpp,tClass.h,t
2012-07-17 17:00:06
5297
转载 LUA与C结合入门
1. 下载lua:www.lua.org,下载源码解压2. 编译:通过“开始-程序”打开VS命令行,进入etc目录的上级目录,运行etc/luavs.bat,编译后的文件位于src目录,有用的文件有lua51.dll, lua51.lib, lua.h, lualib.h, luaxlib.h, luaconf.h{生成静态lua库的方法:1.那建立一个空的vc静态库工程 2.
2012-07-17 16:59:33
879
原创 设计模式之facade
Facade tips: Delegate client request to appropriate subsysem objects.Facade相当于包装一个复杂系统的一个提供一个简单易用的接口.不多说了,贴图.有点要说明,图中的文字来源于百度百科. 点击看全图
2008-12-09 17:54:00
277
原创 (原创)设计模式之Builder模式
下图是在viso中画的,重新整理比较麻烦就直接发图了,需要原文件的朋友留言索要.其中建大厦的例子纯属虚构^_^参考文献:> 由于图片这样显示不全,点击这里要打开直接游览图片
2008-12-06 21:19:00
253
原创 驱动环境下c语言的AVL平衡树实现
本文主对以前在优快云上发表的平衡树进行改进,修正了一个bug,并且树节点数据改为void*.另外平衡树的内存管理采用了非分页的内存,应用在驱动编程中.此算法已经应用于一个map的实现,经过了测试.如果想将平衡树应用于用户模式下,可以把头文件中的_KERNAL_MODE_定义去掉,然后包含头文件 stdlib.h .如果还有bug,欢迎联系我修正 msn:felix_lzq@hotm
2008-08-27 19:18:00
519
原创 最近在看<<c++ Footprint and Performance Optimization>>贴计时函数源代码于此
booktools.h#ifndef __BOOKTOOLS_H#define __BOOKTOOLS_H#if __cplusplusextern "C" {#endif#include #include unsigned long time_fn(long (*fn)(void), int nrSamples = 1);//void time_on();//unsigned lon
2008-03-14 10:10:00
393
原创 自顶向下伸展树的实现与测试-建立自己的c数据结构与算法库系列(14)
不说费话了,直接进入主题。伸展树的主要特点:每次访问某个节点时,都把此节点旋转到根部。保证从空树开始任意M次操作最多花费O(MlogN)的时间,也就是说它的摊还时间为O(F(N))。伸展数的主要难点:展开函数的实现。基本操作插入、删除、查找都和展开函数相关。插入:在根处按要插入的元素展开树,如果树中已经存在此节点,则此节点在展开后就是根;如果不存在节点,根处的元素是比欲插入节点小的最大节点或比之大
2008-01-25 02:14:00
1006
原创 AVL平衡树c语言实现与测试-建立自己的c数据结构与算法库系列(最新修改)(13)
重新修改让我非常郁闷,本来已经详细分析,图文并茅,自认为分析得非常晰。 写完保存,居然没有成功,一大堆工作白费了。优快云这个博客真是让我失望啊,Best4c中画图非常辛苦,可是画完了也白费了。 唉呀,现在就先把实现的源代码放这里吧,如果有读者要求我重新写算法分析并加上图片,我也会接着做。 既然如此了,说是修改那就简单提几点吧,AVL平衡树的实现是在二叉查找树的基础上实现的,和二叉查找树的区别
2008-01-17 17:32:00
2004
5
原创 [转载]跟我一起写 Makefile
跟我一起写 Makefile陈皓 (优快云)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就
2008-01-16 20:23:00
411
原创 在linux svgalib环境下用c创建绘制二叉树的函数-建立自己的c数据结构与算法库系列(12)
前面我已经向大家介绍了怎么样安装linux下svgalib这个古老的图形库,为了方便演示后面一些有关二叉树的算法,现在就接着完成在linux控制台下绘制二叉树,实现放在一个函数中,函数目标: 1。给出任意一个二叉树t和一些函数指针,调用此函数即可在控制台下以图形打印此二叉树。 2。调用基本参数,二叉树 t,获取孩子节点的函数指针fgetChild,获取节点键值的函数指针fgetKey.提示,
2008-01-16 07:03:00
1489
原创 linux控制台绘图-安装svgalib(11)
今天不打游戏了,就接着写文章吧。现在已经到了编写关于树这个重要的数据结构的时候了,前面二查查找树已经完成,昨天AVL平衡树已经实现了,总想用一个比较直观方法显示树,这当然要图形啦。 在LINUX下不能够直接像用TC的BGL那样进行绘图,需要借助图形库。LINUX下可选的图形库很多,我知道的有,QT/GTK/SDL/CURSES,NCURSES/MiniGuit/SVGALIB等等,如果想在
2008-01-15 00:31:00
3412
原创 sscanf函数的高级用法(转)
导读: 大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。 1. 常见用法。 以下是引用片段: charstr[512]={0}; sscanf("123456","%s",str); printf("str=%s
2008-01-14 22:28:00
394
原创 C常用的LinuxC语言函数库
本附录列出 Linux 的常见发行版(如 RedHat Linux)中包含的函数库。除特别指出外,这些函数库的使用和发行适用 GPL 条款或 LGPL 条款。 需要注意的是,Linux 上的函数库正在以非常快的速度增加和更新,这里列出的函数库只是其中的一小部分。如果读者要在 Linux上进行开发,最好先了解一些是否有一些可供直接利用
2008-01-14 22:05:00
1708
1
原创 GTK+2.6安装笔记(转)
导读: 参考一位网友的GTK+安装过程,终于把GTK安装好了。步骤如下: 1、GTK+2.6及相关源码包的下载! ftp://ftp.gtk.org里面有绝大多数的软件包!下载吧!我在安装时就象在WINDOWS里一样什么都用最新的!呵呵。。。如下: atk-1.9.0.tar.bz2、tiff-v3.6.1.tar.z、pkgconfig-0.15.0.tar.gz、l
2008-01-14 14:04:00
721
原创 安装GTK全攻略(转)
导读: 3. GNU libiconv 库(当系统上没有iconv() 函数的时候需要) 4. fontconfig库 fontconfig 是提供系统范围内字体设置,定制和允许应用程序访问的函数库。 5. FreeType库 GTK+(基于DirectFB)的字体绘制是通过pango+freetype+fontconfig三者协作来完成的,其中,fontconfig负
2008-01-14 13:36:00
706
原创 curses库学习中累积的一点知识(转)
导读: 看到了那么多人在学习curses,我也感觉到我遇到的知己!这里就写点关于这方面的知识并列出小弟的一点学习笔记!当学完curses后,写windows下面的代码感觉有点别扭了!希望学完后的朋友不要像我一样!下面给大家列一下ncurses库里的内容!内容比较庞大!值得大家好好的研究,里面的函数也很全! [code:1:40e95aef78]/******************
2008-01-13 02:05:00
1558
2
原创 Ubuntu 7.10 Linux建立C与GTK的开发环境
导读: 1、配置GCC 刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。 可以在新立得里面搜索build-essential或输入下面命
2008-01-13 01:46:00
383
原创 相关文章:
导读: 转载:关于linux图形界面的基本知识2005-01-17 dazern X11 、XFree86 、KDE、GNOME、窗口管理器等相关概念2005-03-16 ssll2826 基于HHARM9-EDU的TCP/IP(UDP)协议的实现2006-04-21 ai_zi TCP/IP详解 卷一协议摘要 第一章2006-06-29 icerain16 nVidi
2008-01-13 01:28:00
223
原创 二叉查找树实现与分析ST_Tree-建立自己的c数据结构与算法库系列(10)
1。简述:二叉寻找树是一种简单的树型数据结构的就用,ADT设计只有简单的几种操作,即 1。查找某个数值。 2。查找最小值 。 3. 查找某个值. 4. 删除某一值。 这个ADT实现还可以用于排序:当你总是查找最小值然后删除最小值时,你将得到一个从小到大的序列;反之,如果查找大值删除之,则得到一个逆序序列。2.实现: 设计树节点为: struct ST_TreeNode; typedef
2008-01-11 18:13:00
594
原创 经典算法源代码
导读: 经典算法源代码 C SourceCode Filtering Functions blockcon.c- block convolution can.c- canonical realization can2.c- canonical realization can3.c- canonical realization cas
2008-01-11 03:26:00
2125
原创 队列的数组实现AQ_queue-建立自己的c数据结构与算法库系列(9)
队列是FIFO的数据结构。 队列的数组实现很简单,我觉得关关鍵点是在对队列的空和满的状态判断上。 对于队列的空和满的判断,我觉得有两种方案实现比较方便,设队列的定义为 struct QueueRecord{ int capacity; int front; int rear; Element * array;};typedef struct QueueRecord * Queue
2008-01-11 02:55:00
733
原创 栈的数组实现-Ar_Stack-建立自己的c数据结构与算法库系列(8)
/* ADT-头文件:Ar_stack.h*//***********************************author:Felix*last update:Thu Jan 10 07:45:50 EST 2008*description:*MinStackSize 表示栈的最小值,当调用Ar_CreateStack的参数小于此值则栈的大小取MinStackSize* AR_STACK_
2008-01-10 23:04:00
385
原创 学习VC编译工具--从linux回到windows想在命令行下使用vc^_^
导读: CL.EXE是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产 生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。 注意,所有编译器选项都区分大小写。 若要编译但不链接,请使用 /c。 2.NMAKE.EXE NMAKE.EXE是相当有用的程序,
2008-01-09 23:54:00
592
原创 (转载)gcc编译选项
导读: [介绍] gcc and g++分别是gnu的c &c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解]
2008-01-09 22:49:00
458
原创 内存对齐问题(转)
导读: 关键字 内存对齐问题 出处 typedef struct { UINT32 NumElements; union { UINT32 ObjectHandle; }Entry; }STR_ARRAY, *PSTR_ARRAY; 还有这两句#pragma pack(push, 1) #pragma pack(pop) #pragma
2008-01-09 18:42:00
269
原创 循环赛算法实现-支持奇偶数 Round Robin Tournament Scheduling algorithm
问题:设有n个运动员要进行网球循环赛。用分治法设计一个满足以下要求的比赛日程表(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次;(3)当n是偶数时,循环赛进行n-1天,当n是奇数时,循环赛进行n天循环赛轮转算法分析,以下内容是其于一篇英文算法分析写的的,出错请指教. 首次适应轮转算法的程序实现的正确性需要一些数学理论基础,这个文档就是总结我对
2008-01-08 23:16:00
5402
原创 C++运算符重载-总结
导读: 运算符重载(operator overloading)只是一种“语法上的方便”,也就是说它只是另一种函数调用的方式。 --C+
2008-01-07 00:54:00
1027
原创 栈的链表实现-LS_stack-建立自己的c数据结构与算法库系列(7)
/*ADT 头文件*/ /***********************************author:Felix*last update:Sun Jan 6 09:12:51 EST 2008*description:LS=List Stack****/#ifndef ___STACK___#define ___STACK___#include#includestruct Node;ty
2008-01-06 23:41:00
576
原创 链表的游标法实现 cursor_list-建立自己的c数据结构与算法库系列(6)
实现思路:链表的各个节点预先存放在一个节点数组中 ,每个节点的"next"是一个整数,代表下一个节点在节点数组中的位置。优缺点:由于不需要动态内存分配置,此链表比文章(5)中的链表实现快,但是需要预先估计链表的大小,防止链表太大时没有节点可分配。额外操作:在使用游标链表前,需要一个循环把节点数组“串连”起来。关键问题: A:怎么样表示一个节点? Q:以数组的下标表示一个节点 假如数组下标为n,则C
2008-01-06 21:22:00
2370
1
原创 链表的实现-list-建立自己的c数据结构与算法库系列(5)
此链表采用最基本的实现方法。ADT-list.h:/***********************************author:Felix*last update:Tue Jan 1 04:33:03 EST 2008*description:****/#ifndef ___LIST___#define ___LIST___#include#includestruct Node;type
2008-01-05 22:49:00
821
原创 一个自动生成带菜单演示的c语言模板的SHELL脚本-建立自己的c数据结构与算法库系列(4)
脚本的功能:1。创建文件夹FelixTest,文件夹中包含文件:主程序文件(main),menu_c.h,menu_c.c.main中生成了菜单显示代码,文件中根据参数生成注释2.生成Makefile假设此脚本文件名为:makeTCtmp 调用例子:makeTCtmp -f testList -a Felix -th list.h -n 3 -i这样将在当前目录下生成一FelixTest文件夹,在
2008-01-05 21:23:00
746
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人