- 博客(48)
- 收藏
- 关注
原创 realproxy类
nunit中的dyanamicrank,觉得非常的强大。开始觉得没有metadata program的c#怎么做到的。。查看了源代码才知道是使用了realproxy这个类。。这个类非常强大啊。。。。。看代码 class Program { interface ABC { void Hello();
2008-12-19 01:57:00 1275
原创 解析C++虚函数表
http://www.51cto.com/art/200712/62673.htm 里面给出的例子个人感觉不够好,应该用成员函数指针而不应该用函数指针。否则无法传递成员。。我给出的例子如下 #include "stdafx.h" #include using namespace std;class Base{private: int i;
2008-10-16 22:22:00 732
原创 我读boost源代码笔记 第五篇 quote.hpp
quote的作用是把一个metafunction,变换成为一个metafunction class,我们都知道,metafunction是无法进行传递的。例如我们有一个metafunciton AddPointerMetaFunction作用是添加指针templatestruct AddPotionerMetaFunction{ typedef T* type;}; 我们还
2008-07-26 01:45:00 840
原创 获得自动生成的ID
在写数据库的时候,一般作为主键的ID是自动生成的,怎么获得这个自动生成的id呢?有人说用 select Max(id) from table但是这是不可以的(请考虑多个连接并发的情况)所以争取的办法是insert into table values (...)select @@identity from table可以获得本连接插入的上一个自动生成的id
2008-06-18 15:44:00 886
原创 我读boost源代码笔记 第三篇 关于has_xxx.hpp
这次要说的是has_xxx.hpp, 这一段小小的代码虽然很简短,但是写得很精彩,不容错过,请大家留意了。首先我们来谈谈has_xxx.hpp的作用, has_xxx就是用来判断某一个类中是否有xxx这个inner class,我们用has_type为例子说明问题(boost/mpl/aux_/has_type.hpp)struct A{ typedef int type
2008-06-15 20:04:00 1605 1
原创 我读boost笔记 附录:宏中不支持模板
宏里面不支持模板的使用的。具体看看本文就了解了void say(int a){ std::cout << a << std::endl;}#define TEST_MACRO(n) say(n)template class Test_Template{public: static const
2008-06-13 21:25:00 843
原创 我读boost源代码笔记 第二篇 is_function代码的阅读
type_traits里面有着很多的文件,很难一一阅读完,这里说明is_function这个metafunction和他们所涉及到的一些其他的源文件,愿能起到抛砖引玉的作用吧。 首先来说的就是is_function,我们首先查阅到boost/type_traits/is_funcion.hpp line 64struct is_function_impl就是is_functio
2008-06-12 17:28:00 1530
原创 我读boost源代码笔记 第一篇 编译器版本确定
不同的编译器对于template的支持不同的,boost对于不同的编译器是不同编译方法,因此开始特别强调本人使用的编译环境:本文使用的编译器版本为为VC 8.0, (主流了国人都是用visual studio的了,如果你用的不是visual studio本人写的读boost笔记对你就没有太大用了)此外本笔记使用的是boost源代码的1.0版本,因为本人在阅读源代码的时候可能会对源代码进行改动,
2008-06-12 17:18:00 1760
原创 指向临时变量的引用
c++规定指向临时变量的引用只能为常数,具体看看代码了什么是临时变量又怎么产生的呢,可以看看一下代码 void f(short const & b)...{}int _tmain(int argc, _TCHAR* argv[])...{ int i = 20; short const & b = i;//i is not a short, so generate a
2008-04-11 13:15:00 950
原创 协变返回型别
协变返回类型(covariant return type) ,这意味着派生类的重载函数可以返回从被重载的函数的返回类型派生的类型。如下面代码,注意D中VF返回类型是D*不是B*class B...{public: virtual B* VF() ...{ //.... }};class D:public B...{public: virtual
2008-03-31 16:29:00 998 2
原创 关于nifty counters
上一篇blog里面列的关键字中的nifty counters又叫做schwarz counters,发现其他关键字用baidu search以下都有结果,但是nifty counter没有。找到了那本c++ faqs。写出关于nifty counters的使用方法 This is the most restr
2008-03-04 21:32:00 925
转载 [zz]The One: A Singleton Discussion
转贴一个老外的关于singleton的讨论,列出几个关键字,可以学习学习1.Meyers Singleton2. Nifty Counter3.Zerob Singleton4.function try blocks5.Double Checked Locking PatternAbstractThe singleton is a recurring pattern used by pr
2008-03-04 21:13:00 974
原创 匿名namespace,linkage,non-type argument
好久没有更新了。收集一下最近看过的几个问题的link关于匿名namespace的作用http://bbs.ustc.edu.cn/cgi/bbsgcon?bn=CPlusPlus&fn=G460B6463&num=326关于里面使用了 non-type argument来测试linkage的作法,因为是需要编译时就知道值的所以参数必须是external linkage的关于exte
2008-03-04 19:22:00 824
原创 ZZ C语言宏定义技巧
有价值收藏C语言宏定义技巧(常用宏定义) 写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些***软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型
2008-01-09 13:27:00 831
原创 virtual inherit内存布局问题
本文起因是由于bird在gfriend里面法的帖子c++问:一般normal derived class & virtual derived class 的memory storage有什么区别作出解释class A...{public: int i;};class B1:virtual public A...{};class B2:virtual public A...{};cla
2007-11-20 18:33:00 559
原创 memset使用的一个错误
一般喜欢用memset来初始化一个内存块。所以在使用的时候可能操作如下int buffer[256];memset(buffer,0,sizeof(buffer));这是正确的但是如果 int f[256]; memset(f,1,sizeof(f));得到的结果不是f[0] = 1,而是f[0] = 16843009,注意因为memset的第一个参数是
2007-10-24 12:51:00 728
原创 c++中unicode utf8, gb2312还有url_encoding
我这里说的unicode指的是在windows下用wchar_t表示的那个unicode, 也就是L"xxx"中表示的那个unicode,也就是在编译选项里面用unicode 并且_T("XXX") 中的unicode下面的代码TCHAR english[] = _T("Hello");TCHAR chinese[] = _T("你好");char chineseA[] = "你好";c
2007-09-14 23:16:00 3487 2
原创 本地密码加密
首先我们有一个安全假设,就是在同一台机器,同一个用户名,可以看到密码,否则无法破解密码,所以我们可以使用一对windows api进行加解密的操作,这对函数用当前机器和用户名生成一组密钥,对数据进行加解密,如果换一台机器或者改变一个用户名,或者2者都改变,将无法成功揭秘到msdn上查找这两个函数的相关介绍就可以了CryptUnprotectData,CryptProtectData
2007-09-14 22:29:00 656
原创 关于在office toolbar中自定义控件
我用英文写的东西,狗屁不通,也懒得翻译了,讲究看看吧As we know the word COM does not provide enough interface for us to customize the toolbar interface, we can only create four type of control: button, edit box, menu (pop
2007-09-14 22:26:00 872
原创 Registry Scripting
什么是Registry Scripting可以看一下的url, 简单的说就是一个往注册表里面写数据的脚本http://msdn2.microsoft.com/en-us/library/k32htktc(VS.80).aspx上面是Registry Scripting的使用,我们如何能够调用Registry Script呢。下面是我的代码,运行当前目录下的一个ATestAddin.rgs的
2007-09-14 22:21:00 569
原创 总结:com组件 和vsto 的参考质料
编写可复用性更好的C++代码http://www.vckbase.com/document/viewdoc/?id=457用VC进行COM编程,必须要掌握哪些COM理论知识http://www.donews.net/Grandia/archive/2005/02/07/270979.aspxBSTR的使用(COM中的string)http://blog.csdn.net/pkr
2007-09-14 22:16:00 823
原创 总结:界面开发续
关于调用dll的资源(.rc文件中的资源)的问题在dll使用时,因为我们的资源是在dll中的,所以需要得到dll的句柄,才可以调用其中的资源,而我们写的是一个插件。所以其实GetModuleHandle返回的是word进程的句柄,使用这个句柄是没有办法获得嵌入到dll中的资源的,所以我们要获得dll句柄需要在dll的main函数中获得,如(g_my_dll_handle是一个全局变量,用来存放
2007-09-14 22:14:00 540
原创 总结,几个的杂碎总结
关于多线程:创建线程http://msdn2.microsoft.com/en-us/library/ms682516.aspx创建关键域 (critical section)http://msdn2.microsoft.com/en-us/library/ms686908.aspx多线程win api介绍http://lijinshui.bokee.com/337857.
2007-09-14 22:11:00 541
原创 总结:关于界面开发
如何使用windows api建立模式对话框http://msdn2.microsoft.com/en-us/library/ms644996.aspx#modal_boxhttp://msdn2.microsoft.com/en-us/library/ms644995.aspx#wm_initdialog 磁性窗口http://blog.csdn.net/uvbs/archi
2007-09-14 22:09:00 602
原创 fstream中的readsome遇到的问题
今天用fstream中的readsome去读取文件到buffer中。碰到了bug.因为不知道文件的大小,担心超出buffer的容量或者不足本以为用readsome是可以实现的,不过调试发现readsome总是返回0,什么都没有读到。后来查了一下下面的资料1.由一个Bug看ifstream中read()与readsome()的区别http://www.softat.org/viewthread.
2007-08-29 21:48:00 1672
原创 c#编写picasa上传文件的http request的multipart碰到的问题
我用c#使用google的picasa接口,尝试写了一个上传文件的试验程序.下面说说自己的感想在http请求时如果要附带上附件,不可避免的需要用到multipart的content-type。具体使用是在http中把content-type改成相应的multipart类型,并且加上boundry标记作为分隔符。需要注意两点(搞了我好久)..如果ContentType = "multipart/re
2007-08-18 14:43:00 1455
原创 最近开发遇到的问题一览
1。预编译头的问题 在vs.net中经常发现缺乏预编译头的错误,关于预编译头的文章整理如下 extern的用法,预编译头的作用和用法 fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾 在查找预编译头指令时遇到意外的文件结尾的错误2. Javascript如何实现sleep3. C++中的extern关键字的问题 C++中extern "C"含义深
2007-03-16 12:16:00 541
原创 ie的activeX的安全缺陷
因为一些个人的原因好久没有写技术的blog了最近看到了一个可以用ie的漏洞攻击的办法。在ie 6.0上有效挺简单的。就是在网页上嵌入一段javascript代码,如果安全权限低的话。可以从网上下载一段文件到本地执行。。。呵呵。可是想做什么就做什么了....关于着漏洞的介绍http://bbs.54master.com/redirect.php?fid=14&tid=122758&goto=n
2006-12-08 15:32:00 793
转载 c++的学习推荐书籍
推荐书籍 人的精力是有限的,当前计算机相关书籍相当丰富,所谓林子大了什么鸟都有,所以首先不要乱读书,以免被误导或浪费时间。这样我们学习的步骤第1是选书,第2是按顺序看书。 以下是我个人认为值得推荐之书: 一.c++程序员看的书://------------
2006-09-11 18:39:00 1157
原创 一个在IE里的debuger工具
在开发javascript程序的时候最讨厌的就是没有相应的调试工具。虽vs 2005已经有了可以debug javascript的功能。可是没有一个可以trace的东西。所以我就写了一个。呵呵。具体的代码如下html>head>meta http-equiv="Content-Type" content="text/html; charset=gb2312">title>abcdefgti
2006-08-05 21:11:00 1677
原创 Javascript, Css ,DHTML的一些技巧和参考(1)
Javascript, Css ,DHTML的一些技巧和参考(1)因为最近一直在做Ajax的开发。而因为浏览器支持的方法不一.所以资料也非常的难找.所以想把一些小技巧做一个整理发布上来.(注意:一下方法仅仅经过IE浏览器的测试)1.关于IE的Dom对象的参考手册.在编写javascript程序的时候.最感到头疼的是手头上没有一个Reference.因为浏览器的换代很快.而且品种繁多.所以
2006-08-05 21:07:00 1192
原创 关于javascript实现类的本质的探讨
不少人对javascript实现类这一点上有些疑惑。因为本来一个很普通的function怎么会变成了一个类的构造函数。在这里我想根据我这几天的研究。谈谈javascript是怎么样实现class的。讲解这个话题之前我们必须先了解一些背景知识。首先我们必须了解一点在javascript中。对象是使用类似于Dictionary的机制来实现.请看下面代码 var Obj = new Object
2006-08-04 21:13:00 1243
原创 在Web control Lib中使用ASCX文件
因为在Web Control Lib里面没有办法适用ASCX.所以不能借助Designer进行编辑.如果需要进行复杂的界面排版.非常的麻烦.所以本人想倒了在Web Control Lib中使用AscX的办法1.首先在建立一个普通的Website工程.添加一个Web User control注意这个时候应该把place code in seperate file的勾勾去掉.这时候将生成一个ascx文
2006-07-29 18:52:00 1071
原创 用Javascript实现拖曳ListBox中拖曳的功能
目的就是把一个ListBox中的条目使用Drag and Drop的方式拖到其他的地方去。因为Html里面的Select控件无法解决焦点的问题.所以不能够使用它来做ListBox.所以本人使用了只有一列的table来代替ListBox(放入一个固定大小的Div里面并且通过style的设置可以出现滚动条).需要解决的是选中的问题(因为在Drag and Drop中必须禁止选中)可以通过onselec
2006-07-29 18:20:00 1206
原创 关于调用webservice的心得(2)
前面讲了那么多关于webservice的东西.现在来看一个具体的例子这里我选用了使用http来调用webservice的方法我使用的webservie地址是http://www.wopos.com/webservice/weather.asmx其中有一个getWeather的函数。我们可以从http://www.wopos.com/webservice/weather.asmx?op=getW
2006-06-18 02:11:00 1189
原创 关于调用webservice的心得
答辩完毕后很无聊。正好近来研究ajax调用使用一下网络上一些免费的web serverce来装饰下blog所以开始研究了一下怎么样调用webservice.本来以为这是一个很泛滥的问题。谁知道。在网上查了一下中文资料后。发现错误的东西好多,而且非常不全明(再次验证了中文资料的落后).现在说说以下的几点心得:1。在使用C#调用WebService的时候。网上的中文教程的次序如下:首先建立一个WebS
2006-06-15 16:13:00 2725
原创 使用.net framework 2.0用c#编写ActiveX控件(编写,部署,升级更新)
大概在1个半月前,自己探索了一下如何使用C#在.net 2.0 framework下编写ActiveX的东西。发现中文资料不多,而且被大家广为转载的中文资料还有错误(不知道是否是因为net 2.0和1.0有出入的关系)。最近Lori又要做相关方面的工作。所以也就算写上一个书面的东西以便他的参考,而且也算是对以前的工作的总结。免得忘记了。本文包括了如何编写,部署,还有更新ActiveX控件国内广
2006-05-11 17:50:00 6974
原创 用Reflection把enum绑定到comboBox上
再做项目的时候需要用到comboBox来配置对象的属性(属性是一个枚举型), 如果一一用字符匹配的方法进行设置就太累了.而且当修改了enum之后.还必须要重新匹配.所以想到了一个办法. 重载了combobox类。用reflection的技术对其动态的绑定。选择了哪一个combobox的item就可以直接返回该enum值.代码不长可以贴上来.using System;using System.C
2006-04-14 18:42:00 1316
原创 关于用Reflection来实现父类和子类共用一个ICloneable函数
最近在做项目的时候需要用到ICloneable.不过在c#中无法实现内存拷贝。所以必须要对对象中的每一个属性都进行复制.属性太多的时候.一个个的复制显得非常的麻烦.(尤其是当在子类中。又要必须override重新写上一次父类的属性再加上自己的几个属性,所以显得非常麻烦)As Fellowing:public class A:ICloneable{ private int m_a;
2006-04-04 20:33:00 868
转载 [转贴]关于在c#里面调用win api的方法.(我看过得最详细的帖子)
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话,在C:/Program Files/Microsoft Visual Studio .NET/
2006-02-24 22:10:00 3416 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人