09 2014 档案

二进制最大公约数算法
摘要:求最大公约数的Euclid算法需要用到大量的取模运算,这在大多数计算机上是一项复杂的工作,相比之下减法运算、测试数的奇偶性、折半运算的执行速度都要更快些。二进制最大公约数算法避免了Euclid算法的取余数过程。二进制最大公约数基于下述事实:若a、b都是偶数,则gcd(a,b)=2*gcd(a/2,b... 阅读全文
posted @ 2014-09-27 23:50 冰花ぃ雪魄 阅读(219) 评论(0) 推荐(0) 编辑
[转]有关USES_CONVERSION
摘要:转自:http://blog.csdn.net/p40614021/article/details/6778100ATL:转换宏是各种字符编码之间进行转换的一种很方便的方式,在函数调用时,它们显得非常有用。ATL转换宏的名称是根据下面的模式来命名的[源类型]2[新类型]或者[源类型]2C[新类型]。... 阅读全文
posted @ 2014-09-26 22:02 冰花ぃ雪魄 阅读(236) 评论(0) 推荐(0) 编辑
KMP算法学习
摘要:一、什么是KMP算法Knuth-Morris-Pratt字符串查找算法(常简称为 “KMP算法”)是在一个“主文本字符串”S内查找一个“词”W的出现,,以此避免对以前匹配过的字符重新检查。(在原串中匹配模式串)二、KMP演示http://staff.ustc.edu.cn/~ypb/jpkc/fla... 阅读全文
posted @ 2014-09-25 22:18 冰花ぃ雪魄 阅读(357) 评论(0) 推荐(0) 编辑
A - Oulipo
摘要:A - Oulipo Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionThe French author Georges Perec (1936–1982) onc... 阅读全文
posted @ 2014-09-25 22:12 冰花ぃ雪魄 阅读(270) 评论(0) 推荐(0) 编辑
KMP算法
摘要:KMP算法在介绍KMP算法之前,先介绍一下BF算法。一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结... 阅读全文
posted @ 2014-09-24 21:09 冰花ぃ雪魄 阅读(202) 评论(0) 推荐(0) 编辑
GetSystemMetrics
摘要:函数原型:int GetSystemMetrics( int nIndex // system metric or configuration setting ); 函数返回与系统有关的信息 常数定义取得信息SM_ARRANGE设置windows如何排列最小化窗口的一个标志。参考api32.txt... 阅读全文
posted @ 2014-09-23 19:53 冰花ぃ雪魄 阅读(346) 评论(0) 推荐(0) 编辑
]用EnumChildWindows遍历窗口的方法
摘要:最近项目有需要,得到一个非自己实现的窗口控件对象。于是想起曾经做过类似功能。总结如下: 调用EnumChildWindows(this->m_hWnd, EnumChildProc, NULL);遍历指定窗口的所有子窗口。这里就是遍历This->m_hWnd的所有子窗口。this从外部窗口继承,外部... 阅读全文
posted @ 2014-09-23 18:50 冰花ぃ雪魄 阅读(1320) 评论(0) 推荐(0) 编辑
C#之数组
摘要:什么是数组?数组是一种数据结构,包含同一个类型的多个元素。数组的声明:int[] myIntArray; 注:声明数组时,方括号 ([]) 必须跟在类型后面,而不是变量名后面。在 C# 中,将方括号放在变量名后是不合法的语法。数组的初始化:我们知道数组是引用类型,所以需要给他分配堆上的内存。1.my... 阅读全文
posted @ 2014-09-21 12:38 冰花ぃ雪魄 阅读(250) 评论(0) 推荐(0) 编辑
C#中的结构体与类的区别
摘要:经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点.1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字struct.在语法上其实类和结构有着很多相似的地方. 定义类的语法 1 class Person 2 {... 阅读全文
posted @ 2014-09-21 12:31 冰花ぃ雪魄 阅读(331) 评论(0) 推荐(0) 编辑
理解C#值类型和引用类型
摘要:网上偶尔浏览到这一篇文章,还不错就修改了下分享给大家。 工作许久了,可是对C#值类型和C#引用类型却一直无法很好的理解。这两天花了不少时间查找资料,看文章,终于有所收获,在此将自己理解整理出来,方便日 后自己查看,同时希望对跟我有一样困惑的朋友有所帮助。废话不多说,下面开始说说怎么理解值类型和... 阅读全文
posted @ 2014-09-21 12:11 冰花ぃ雪魄 阅读(207) 评论(0) 推荐(0) 编辑
C#引用传递
摘要:学过C#的人都知道,通过值或通过引用,值类型和引用类型都可以作为方法参数传递。在C#中,不管是值类型或者是引用类型,所有方法参数在默认情况下是通过值传递的。1)通过值传递值类型在通过值传递作为方法参数的变量时,传递给方法的是数据副本。在方法中对该数据的任何修改都不会对初始值有任何影响。C#如下代码:... 阅读全文
posted @ 2014-09-21 12:05 冰花ぃ雪魄 阅读(190) 评论(0) 推荐(0) 编辑
C#中垃圾回收与内存管理机制
摘要:今天抽空来讨论一下.Net的垃圾回收与内存管理机制,也算是完成上个《WCF分布式开发必备知识》系列后的一次休息吧。以前被别人面试的时候问过我GC工作原理的问题,我现在面试新人的时候偶尔也会问相关的问题。那么你是否也遇到这样的问题呢?比如你清楚.Net的垃圾回收机制吗?你能简述一下GC的工作原理吗?怎... 阅读全文
posted @ 2014-09-21 11:56 冰花ぃ雪魄 阅读(285) 评论(0) 推荐(0) 编辑
C#下内存管理--垃圾收集
摘要:章节安排内存管理简介垃圾回收机制性能问题C#下非托管资源的处理要强调的几点References内存管理简介 对于任何一种编程语言,内存管理都是不得不提很重要的一块内容,但可惜的是目前为止没有任何一种编程语言对内存管理处理的非常完美,每种语言都在兼顾性能 效率,语法语义易用性等方面折中中有所侧重。例如... 阅读全文
posted @ 2014-09-21 11:46 冰花ぃ雪魄 阅读(296) 评论(0) 推荐(0) 编辑
string中c_str()、data()、copy(p,n)函数的用法
摘要:标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const char*指针,指向以空字符终止的数组。注:①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失... 阅读全文
posted @ 2014-09-21 09:41 冰花ぃ雪魄 阅读(190) 评论(0) 推荐(0) 编辑
属性类
摘要:从抽象类 System.Attribute 派生的类(不论是直接的还是间接的)都称为属性类。一个关于属性类的声明定义一种新属性,它可以被放置在其他声明上。按照约定,属性类的名称带有 Attribute 后缀。使用属性时可以包含或省略此后缀。http://msdn.microsoft.com/zh-c... 阅读全文
posted @ 2014-09-20 22:04 冰花ぃ雪魄 阅读(276) 评论(0) 推荐(0) 编辑
使用 DllImport 属性
摘要:本主题说明 DllImport 属性的常见用法。第一节讨论使用 DllImport 从托管应用程序调用本机代码的优点。第二节集中讨论封送处理和 DllImport 属性的各个方面。从托管应用程序调用非托管代码当在托管应用程序中重用现有的非托管代码时,DllImport 属性非常有用。例如,托管应用程... 阅读全文
posted @ 2014-09-20 22:01 冰花ぃ雪魄 阅读(230) 评论(0) 推荐(0) 编辑
DllImport属性详解
摘要:API函数是构筑Windows的基石, 是Windows编程的必备利器。每一种Windows应用程序开发工具都提供间接或者直接的方式调用Win32API,C#也不例外。使用Win32API的一个好处就是,我们可以实现更多的功能。首先,要引入命名空间:using System.Runtime.Inte... 阅读全文
posted @ 2014-09-20 21:02 冰花ぃ雪魄 阅读(365) 评论(0) 推荐(0) 编辑
dll开发中遇到的问题
摘要:刚碰到个问题,我的一个项目中引用了一个dll,这个dll又引用了另一个dll,我把这俩个都放在bin文件夹下,但是会报错,说第二个dll找不到。把它放到系统文件夹system32下就没事了。但是遇到一个奇怪的问题,我的各部分代码是只有的:Text.cint plus(int a,int b){ re... 阅读全文
posted @ 2014-09-20 20:23 冰花ぃ雪魄 阅读(152) 评论(0) 推荐(0) 编辑
如何逐步实现动态库的加载,类型的匹配
摘要:如何逐步实现动态库的加载,类型的匹配,动态链接库函数导出的定义,参考下面宏定义即可:#defineLIBEXPORT_APIextern"C"__declspec(dllexport)第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和:LIBEXPORT_APIint... 阅读全文
posted @ 2014-09-20 11:23 冰花ぃ雪魄 阅读(276) 评论(0) 推荐(0) 编辑
在C#调用C++的DLL简析(一)——生成非托管dll
摘要:经过一晚上的折腾,还是下点决心将些许的心得写下来,以免以后重复劳动。C#与C/C++相 比,前者的优势在于UI,后者的优势在于算法,C++下的指针虽然恶心,若使用得当还是相当方便的,最重要的问题是,市面上很多流行的开发工具库,几乎没 有不支持C++的,但全面支持C#只能说是难得,在CPU发展到今天,... 阅读全文
posted @ 2014-09-20 10:50 冰花ぃ雪魄 阅读(243) 评论(0) 推荐(0) 编辑
vs2010生成Dll文件并引用dll(C#)
摘要:1、创建新C#控制台应用程序,项目命名createBll,打开Program.cs重命名为TestA(可以不重命名)并修改代码,如图:写好后,可以写其它的类.cs文件2、完成后,点击菜单栏的“项目”,下拉单选择“createDll属性”,打开如图窗口在输出类型选择“类库”,然后关掉该窗口,生成解决方... 阅读全文
posted @ 2014-09-20 10:07 冰花ぃ雪魄 阅读(331) 评论(0) 推荐(0) 编辑
#pragma comment使用
摘要:编程经常碰到,理解的总不是很透彻,在这里查阅资料总结一下!在编写程序的时候,我们常用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma once :这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,避免文件被重复包含。#prag... 阅读全文
posted @ 2014-09-20 10:02 冰花ぃ雪魄 阅读(463) 评论(0) 推荐(0) 编辑
lib 和 dll 的区别、生成以及使用详解
摘要:首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直... 阅读全文
posted @ 2014-09-20 09:54 冰花ぃ雪魄 阅读(234) 评论(0) 推荐(0) 编辑
C#中托管与非托管
摘要:在.net 编程环境中,系统的资源分为托管资源和非托管资源。 对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的只是了解.net CLR如何做这些操作。也就是说对于您的应用程序创建的大多数对象,可以依靠 .NET Framework 的垃圾回收器隐式地执行所有... 阅读全文
posted @ 2014-09-19 22:16 冰花ぃ雪魄 阅读(169) 评论(0) 推荐(0) 编辑
关于名称重整(name mangling)、多态性的一些简单介绍
摘要:在看GCC源码的时候看到mangles这个单词,于是google了一下。在面向对象编程语言出现之前,如果你想要打印不同类型的数据,需要写多个方法,例如PrintInteger(int i),PrintString(string s) 和 PrintFloat(float f) 。也就是说, 你必须通... 阅读全文
posted @ 2014-09-19 18:40 冰花ぃ雪魄 阅读(439) 评论(0) 推荐(0) 编辑
树状数组
摘要:昨天学了一下树状数组,随笔都写了一大半,结果一个不小心就把他给删了,哎。。。。。。今天就当是复习吧!再写一次。 如果给定一个数组,要你求里面所有数的和,一般都会想到累加。但是当那个数组很大的时候,累加就显得太耗时了,时间复杂度为O(n),并且采用累加的方法 还有一个局限,那就是,当修改掉数组中的元素... 阅读全文
posted @ 2014-09-17 22:06 冰花ぃ雪魄 阅读(220) 评论(0) 推荐(0) 编辑
c语言 while (~scanf("%d%d",&n,&m)) 在这里这个符号“~”是什么意思
摘要:按位取反,简单地说就是二进制1变0,0变1由于scanf是有返回值的,且返回值为int型特别的此处用法导致只有scanf返回-1,循环才会结束,也就是要返回EOF while (~scanf("%d%d",&n,&m))等效于 while (scanf("%d%d",&n,&m)!=EOF) 阅读全文
posted @ 2014-09-08 20:51 冰花ぃ雪魄 阅读(963) 评论(0) 推荐(0) 编辑
LCA算法
摘要:LCA算法:LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点。也就是说,在两个点通往根的道路上,肯定会有公共的节点,我们就是要求找到公共的节点中,深度尽量深的点。还可以表示成另一种说法,就是如果把树看成是一个图,这找到这两个点中的最短距离... 阅读全文
posted @ 2014-09-07 10:09 冰花ぃ雪魄 阅读(345) 评论(0) 推荐(0) 编辑