文章关键字 ‘C语言’

sha1sum for windows

2011年01月11日,星期二

Linux可以用sha1sum命令来校验文件的sha1值,Windows下也不乏sha1校验的工具。其实自己实现一个简单的sha1sum程序并不难,只要知道sha1算法就可以了,不知道也不要紧,复制粘贴总会吧。

下面就是我“复制粘贴”出来的sha1sum程序,纯ANSI C实现。

[download id=56]

用C语言实现PHP的base64_decode函数

2010年12月20日,星期一

有base64_encode自然有base64_decode,也是定义在PHP源码的ext\standard\base64.c文件中,仍然需要注意内存泄露。

(更多…)

用C语言实现PHP的base64_encode函数

2010年12月19日,星期日

最近写的程序要用到base64_encode,网上一搜“C语言 base64”出来一堆代码,但是我向来是不惮以最坏的恶意来推测这些代码的。于是看了一下PHP源码,base64_encode函数定义在ext\standard\base64.c文件中。我把它改写了一下,需要注意内存是动态分配的,使用完之后记得free掉,否则会造成内存泄露。

(更多…)

PHP函数源码中的return_value变量

2010年12月17日,星期五

最近在看PHP的C源码,经常发现在函数定义中莫名其妙地出现一个没有任何声明的return_value变量,Google了一下才知道,这个变量是通过宏展开的。

(更多…)

没有main函数的C程序

2010年12月12日,星期日

在Visual C++中新建一个Console Application工程,添加一个.c文件,代码如下:

#pragma comment(linker, "/Entry:demon")

void demon()
{
    __asm ret;
}

严格的说这好像已经不是C程序了,而且和编译器有关。没错,这只是标题党。