- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 搞挂你的C++编译器
Play with the compiler是一件很有趣的事情,编译死循环的程序便是其中之一。让我们和编译器一起做游戏吧~1、Preprocessa、Self Include(GCC only)一般的编译器都有include嵌套层数的限制,所以你需要在适当的时候停止嵌套。利用GCC提供的__INCLUDE_LEVEL__可以很轻松的实现这一点。时间复杂度是na,n是每层的Self Include
2007-10-30 13:03:00 5833 7
原创 Protected or Private?
作为父类的设计者,你可能会踌躇到底应该使用protected还是private来描述你的成员。那么,让我们来看看下面几个Sample吧:1、不相关的类访问protected成员 void B::yourfun(A &a) { class ASpe:public A { friend class B; }; static_cast(a).Protect
2007-10-31 11:10:00 1197
原创 How small can a functional PE executable be?
你知道最小的PE(Windows平台下EXE可执行文件的默认格式)有多大吗?你可以看一下这个:http://www.phreedom.org/solar/code/tinype/简而言之: 最小的PE文件: 97 bytes Windows 2000平台下最小的PE文件: 133 bytes 最小的能够从网上下载并运行一个程序的PE文件: 133 bytes
2007-10-30 18:36:00 1123
原创 Flexible C++
C++是一门非常灵活的语言,只要充分发挥你的想象, 再普通的东西都能玩出新花样1、1~1000求和循环?递归?再简单不过的题目了。但是如果不允许你用判断语句呢?如果你熟悉switch的内部实现,那么你很容易想到使用函数指针数组。 #include typedef int (*fun)(int); int f1(int i) {return 0;} int f2(int i) {fun f[2
2007-10-30 16:00:00 1692
原创 Self Print in C++
所谓的Self Print(自打印程序),就是指代码编译之后运行输出的结果和原来的代码一样。换言之,假设把编译-运行-输出作为一个算子F,代码作为自变量s的话,Self Print 就是要寻找s,使得 F(s)=s下面的程序要实现的是另外一种形式的Self Print,F(F(F(F(s))))=s #include int main() { int Type=0; char
2007-10-30 14:58:00 1236
原创 按拼音或者笔画排序你的字符串
很多人会很好奇,怎么数据库能够根据拼音排序的?网上能搜到很多网友自己写的处理按拼音排序的模块。GB2312的一级汉字确实是按拼音排列的,我们可以简单的比较它们的编码,但是二级汉字呢?如果你的程序是使用Unicode字符串的呢?不用担心,Windows I18N API已经给我们提供了相关的函数来实现这一切,你所需要做的就是传入一个合适的参数。下面的函数会将GBK中所有的汉字按拼音或者笔画序输出到
2007-10-30 14:35:00 1490
原创 FLVRetriever - 在线视频存储概述
写这个软件的初衷是因为游侠网354s论坛的网友经常利用土豆、新浪等在线视频播放平台发布自己的通关录像,而且越来越多的媒体开始利用在线视频发布新闻、游戏demo等等。当时我正准备熟悉一下C#、.Net Framework以及网络抓包分析等方面的知识,于是就诞生了这个小工具。能够根据视频网页批量分析出对应视频的存储地址(可以在我的网盘下载)在线视频播放的一大瓶颈就是网络带宽。很多时候为了流畅的观赏视频
2007-10-30 14:08:00 1994
原创 C++编译器错误信息的Trick
做在线OJ的时候往往不能看到程序的运行输出,但我们仍然可以从编译器提供的错误信息中得到不少有价值的信息。比如说编译器的类型、版本以及使用的库等等。同样,当我们没有本地编译器的时候,也可以利用这些技巧+在线编译器(比如http://www.dinkumware.com/exam/default.aspx)获得我们感兴趣的信息(比如结构对齐信息,复杂对象类型等等)1、输出宏的内容基本的思想就是利用C+
2007-10-30 11:04:00 1122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人