C++
riag
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程查看局域网的共享文件夹
主要是用 WnetEnumResource和NetShareEnum API 来查看局域网的共享文件夹。有一个工具ShareEnum 是用来查看局域网的共享文件夹在这里下载 csdn论坛里有人举了一个例子,可参考一下,到这里看看。原创 2009-12-01 11:04:00 · 1147 阅读 · 0 评论 -
window下dll做多国语言的翻译方法
在window下用dll做多国语言是比较方便的,只要加载资源dll,然后调用AfxSetResourceHandle API 就可以实现多国语言了;但用dll做多国语言,翻译成其他语言不是很方便。 我在看TortoiseSVN源代码时,它也是用dll做多国语言,不过它提供一个命令行程序把资源dll的字符提取出来,生成pot文件(了解linux下i18n的都知道pot文件),把字符原创 2009-11-30 10:42:00 · 3352 阅读 · 1 评论 -
window的一些开放的技术规范
今天,我在网上无意发现了微软开放的一些的技术规范,网址在这里 :http://msdn.microsoft.com/en-us/openspecifications/default.aspx原创 2009-12-03 15:59:00 · 534 阅读 · 0 评论 -
[vc]复制文件时显示复制进度
我们在用window复制文件时,会有一个复制进度条出来,如果想在代码里实现这种效果,可以使用window提供的SHFileOperation API来实现,而不是我们通常使用的CopyFile API。并且SHFileOperation API也支持删除/移动/重命名文件操作。 SHFileOperation 的用法自己Google 一下,不难使用原创 2009-12-03 17:14:00 · 1890 阅读 · 1 评论 -
一天一个CRT函数 strcspn
这篇文章介绍了一个很好的查找字符的算法,以后可以借鉴一下原文在这里 : http://blog.youkuaiyun.com/chenyu2202863/archive/2010/02/06/5293941.aspx 刚看到strcspn的实现时,很是惊诧!靠,这么优秀的算法,分析了老半天才搞明白。世界上为啥聪明的人这么多呢?1.介绍原型:size_t strcspn(const转载 2010-03-04 10:19:00 · 666 阅读 · 0 评论 -
如何写一个lex
最近2年有部分工作跟编译原理相关,是做做词法分析/语法分析,也自己研究了squirrel脚本的编译和虚拟机的实现,python的虚拟机;但对编译器前端的那些算法都已经忘了,看来要重新再研究研究。 http://blog.ftao.org/category/computer-science/compiler/lex/ 这里作者自己动手写了一个lex,并分享出来,我觉得真强,以后用空研究原创 2010-03-05 14:30:00 · 1424 阅读 · 1 评论 -
S先生与P先生谜题
我在这里http://blog.ftao.org/category/develop/python/page/2/ 看到这条题目,觉得很有意思,记录一下。 题目:S先生与P先生谜题设有两个自然数X、Y,2S:我确信你不知道这两个数是什么,但我也不知道。P: 一听你说这句话,我就知道这两个数是什么了。S: 我也是,现在我也知道了。现在你能通过原创 2010-03-05 14:17:00 · 1321 阅读 · 0 评论 -
《高效程序的奥秘》第二章读书笔记(一)
本文作者:riag本文出处:http://blog.youkuaiyun.com/riag声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明信息. 谢谢. 把一个字的最右侧的1改成0,这个可以用来检查一个无符号整数是否为2的幂: x&(x-1) 其结果原创 2010-03-24 16:44:00 · 1036 阅读 · 0 评论 -
CreateProcess要注意的一个问题
今天重看《windows核心编程》(第五版)P86页时,才发现CreateProcess的第二个参数pszCommandLine是不能传入”常量字符串”,因为CreateProcess内部是会修改这个参数的,在CreateProcess返回前,会把这个字符串还原成原来的形式。 我以前都没注意到这个问题,这是多么危险的问题啊。原创 2010-03-23 17:52:00 · 850 阅读 · 1 评论 -
《高效程序的奥秘》第二章读书笔记(二)
本文作者:riag本文出处:http://blog.youkuaiyun.com/riag声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明信息. 谢谢. 书中列出了一些恒等式: 1. -x = ~x +1 = ~(x-1)2. ~x = -x-13.原创 2010-03-29 14:10:00 · 987 阅读 · 0 评论 -
随机文本生成
在《编程珠玑》的第15章有介绍随机生成文本,我上网搜了一下,发现这篇文章,转载一下。 原文: http://blog.youkuaiyun.com/z_york/archive/2008/06/14/2546764.aspx 上个星期一个偶然的机会,看到一篇介绍“随机文本生成“的东西(Generating Text,“随机”二字是我画蛇添足加上去的),挺有趣的,加之这段时间比较有研转载 2010-04-01 23:13:00 · 4016 阅读 · 0 评论 -
Code::Blocks的配色
一直对Code::Blocks的默认的代码配色不是很满意,因为用得不多,所以就不管了。但最近我想自己在业余时间写的代码尽量用Code::Blocks来写, 花了点时间按照UliPad的配色修改了Code::Blocks。 这个配置文件可在这里下载。 (这个配置文件只配了c++代码的配色) PS: UliPad的默认配色很不错。原创 2010-04-15 10:07:00 · 2720 阅读 · 0 评论 -
Code::Blocks的中文化
Code::Blocks官方虽然没有中文语言包,但网上有,搜索"Code Block 简体中文语言包 " 就可以了,把它下载下来,解压后放到$(Code::Blocks安装目录)//share/CodeBlocks/locale目录下,然后在Code::Blocks的主菜单选择"Setting" -> "Enviroment",在弹出的对话框选择"View",在右边的panel中选中原创 2010-04-14 20:37:00 · 1468 阅读 · 0 评论 -
Ant编译vc工程
Ant 是Java的一个编译工具,但也可以用于编译VC工程。因为VC支持命令行编译,所以Ant只要调用VC命令行编译程序就可以了。vc6与vc7.0以上的命令行程序不一样,vc6是MSDEV.COM,vc7是devenv.com。把{ vc的安装目录 }/Common/MSDev98/Bin 加入环境变量Path,以便Ant能直接调用vc命令行程序。Ant默认调用的配置文件是build.xml原创 2009-05-22 13:41:00 · 3110 阅读 · 1 评论 -
独立使用XPCOM
XPCOM(CrossPlatform Component ObjectModel)是一种跨平台组件模型,是Mozilla技术的核心。通过Mozilla提供的SDK,我们可以在我们自己的程序里独立使用xpcom。 下面以vs2008的一个简单控制台程序来演示如何使用XPCOM。原创 2009-07-26 22:17:00 · 5141 阅读 · 2 评论 -
用TinyXML读写XML
TinyXml是一个基于DOM模型的、非验证的轻量级C++解释器, 用来读写配置文件是最好的,可从http://www.grinninglizard.com/tinyxml/index.html这里下载。构建TinyXML 时可以选择是否支持STL, 一般建议选择支持STL。TinyXml的源码包里提供了VC6的工程文件,直接用它就可以生成静态库。然后把tinyxml.h, tiny原创 2007-01-07 10:30:00 · 5717 阅读 · 1 评论 -
[vc]关于链接错误的解决方法
有时在vc项目引入第三方库时,会导致项目编译不过,说是"error link 2005: already defined in LIBCMT.lib(xtoa.obj)“。解决方法 :在项目属性->链接器->命令行 的附加选项里添加: /force, 这样通常可以编译了。原创 2007-03-05 10:45:00 · 1304 阅读 · 0 评论 -
重载operator [] 要注意的问题
在一次面试中, 面试官问了这个问题: "重载operator [] 要注意的问题" 。 因为没有考虑过这个问题,当然不会答。回来查了一些资料,虽然没有找到明确答案,在的 条款21: 尽可能使用const 有提到过,也不知道这是不是答案,还希望懂的朋友指点一下. 重载operator [] 有两个版本:一个是返回非const对象的operator[], 一个是返回const对象的o原创 2007-07-30 23:49:00 · 885 阅读 · 0 评论 -
操作符++/--的前缀形式与后缀形式的区别
我们很多时候都会使用到自增或自减, 自增或自减都有前置形式与后置形式, 那么我们在为自己写的类添加重载++/--操作符时, 如何区分前置形式与后置形式? 在的15.7节和的4.2节都有介绍, 下面只是把它归纳一下, 具体可以看那2本书。 前置的操作符声明:class ScreenPtr {public:Screen& operator++();Screen& ope原创 2007-07-31 00:12:00 · 1610 阅读 · 0 评论 -
Mozilla代码风格指南
注:这是我第一次翻译文章,加上我英语不是很好,这篇翻译的不是很好。感谢我的同学David帮我修正了很多语句不通的地方。原文: http://www.mozilla.org/hacking/mozilla-style-guide.htmlThisdocument attempts to explain the basic styles and patterns that areused翻译 2008-10-06 23:48:00 · 1953 阅读 · 2 评论 -
创建临时文件
可以使用函数_topen()创建一个临时文件,无论你有没有关闭文件、程序被强行杀掉,该临时文件都会被销毁。 在一些简单的需要同步的地方,用这个来互斥很方便#include #include //创建临时文件int create_temp_file(TCHAR* fileName){ if (!fileName) return -1 ;原创 2008-12-10 22:31:00 · 883 阅读 · 0 评论 -
把某个数变成8的倍数
代码来自于 《stl源码分析》 enum { __ALIGN = 8 }size_t round_up(size_t bytes){ return (( (bytes)+__ALIGN-1) & ~(_ALIGN-1) ) ; }原创 2009-03-05 23:11:00 · 1388 阅读 · 0 评论 -
乘法和加法要做溢出检查
乘法和加法的运算结果可能会溢出,需要做溢出检查。但很多时候我都没做这个检查。今天在看《python源码剖析》时,看到了2处代码有做这样的检查,所以记下来,提醒自己以后要做这样的检查。 加法运算long x, a, b ;......x = a+b ;if ( (x^a)>0 || (x^b)>0 ){ //没溢出} 乘法运算原创 2009-04-18 23:31:00 · 1692 阅读 · 0 评论 -
LeakDiag下载地址
LeakDiag 是一个监测内存泄漏的工具,可在这里下载ftp://ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/LeakDiag/ 如果上面的地址登录不了,可到这里下载:http://download.youkuaiyun.com/source/1422939 我已经上传到csdn。原创 2009-07-20 22:32:00 · 8712 阅读 · 1 评论 -
[firefox]查看xpcom类型库xpt的信息
在XULRunner的SDK的/bin目录提供了一个xpt_dump.exe程序,用于查看类型库xpt文件的信息。 xpt_dump.exe的源代码在firefox源代码的/xpcom/typelib/xpt/tools下的xpt_dump.c文件,里面用到了几个API: XPT_NewArena XPT_NewXDRState XPT_DoHeader XPT_D原创 2009-05-07 23:12:00 · 1673 阅读 · 1 评论 -
rgopt参数分析模块
rgopt参数分析模块 是参考python的getopt模块的用法。它需要指定要支持的短参数和长参数, 如果要分析的参数有一个不在支持的短参数或长参数,就会直接返回一个错误,通过接口get_error_opt可获取出错的参数。 如果某个参数要跟一个值,如 -f xxxx , 则需要在列出支持的短参数和长参数的同时,标明某个参数后要跟一个值。如:const TCHAR sztok原创 2009-05-14 17:17:00 · 1154 阅读 · 0 评论 -
[COM]《COM本质论》读书笔记--COM是如何支持分布式的套间,保证其唯一性
每个列集格式里都有一个OXID/OID/IPID组。网络上每个套间在创建时,都会分配一个唯一的OXID(对象引出标识符),这个OXID可用来找到网络/IPC地址信息。OID(对象标识符)唯一标识了网络上的一个COM实体。IPID(接口指针标识符)唯一标识了套间中的一个接口指针。 每台支持COM的机器必须提供一个OXID解释器(OR,OXID Resolver)服务,每一个套间被初始化原创 2009-05-14 17:54:00 · 699 阅读 · 0 评论 -
《高效程序的奥秘》第二章读书笔记(三)
本文作者:riag本文出处:http://blog.youkuaiyun.com/riag声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明信息. 谢谢. 循环移位 左循环移位n个位: y = (x>(32-n))右循环移位n个位: y = (x>>n) |原创 2010-04-07 16:29:00 · 907 阅读 · 0 评论
分享