存档

‘心得笔记’ 分类的存档

Windows 7 的 Windows 帮助程序 (WinHlp32.exe)

2011年5月11日  5,024 views 没有评论

今天在Windows 7 下用Delphi 7 的帮助文档,突然发现大不开了……后来上网查了一下才知道从Vista之后Windows 就不自带可以打开“.hlp”扩展名的帮助程序 WinHlp32.exe了。

Windows 帮助 (WinHlp32.exe) 是一个帮助程序,自 Microsoft Windows 3.1 版本的操作系统以来,它已包含在 Microsoft Windows 中。但是,在许多发行版中,Windows 帮助程序均未进行重大更新,不再符合 Microsoft 标准。因此,自 Windows Vista 版本以来,Windows 帮助程序不再作为 Windows 的一项功能随之发行,在 Windows 7 中也是如此。如果要查看 32 位的 .hlp 文件,必须从 Microsoft 下载中心下载并安装该程序 (WinHlp32.exe)。

这个是增值软件,只有正版用户才能下载,非正版用户无法通过验证得到它的下载地址。现在我将自己下载的32位和64位Win7系统使用的WinHlp32.exe文件放在这里供大家下载使用。

下载:

x86:

  Win7-x86-WinHlp32.exe (687.3 KiB, 5,957 hits)

x64:

  Win7-x64-WinHlp32.exe (701.3 KiB, 3,013 hits)

 

利用Google API快速生成QR二维码

2011年5月6日  34,476 views 23 条评论

昨天发现很多网站都贴上了自己网址的二维码,我觉得这样挺有意思的,就研究了一下怎样生成二维码。结果发现,现在来说生成二维码最简单的方法是使用Google Chart API来实现,再次膜拜Google大神~

Google Chart API是一套可以让你在线生成报表图的系统,通过URL你可以得到各种图表。
举个例子:你在浏览器中输入

https://chart.googleapis.com/chart?cht=qr&chs=200×200&choe=UTF-8&chld=L|4&chl=http://Codeup.org

你将得到一个内容为本站网址的QR二维图。
http://Codeup.org

回过头来我们再介绍一下二维码……好像这话放的位置不对,你们凑活着看吧……

一、什么是二维码

随着科技的发展,智能手机越来越普及,QR码(二维码)的使用也越来越多了。利用手机的拍照功能,再加上一些QR码识别软件,可以通过二维码来记录一些比较枯燥并不好记的信息,比如说长长的网址。现在很多手机软件下载网站都提供了可视化的下载路径,就是将下载路径做成QR码,让手机用户快速读取QR码中的下载链接转到下载页面。

具体QR码的定义可以查看维基百科的介绍

阅读全文…

本站右上角Skill小贴士的实现方法

2011年4月30日  2,060 views 没有评论

前几天浏览别人博客的时候发现有个人的网站有skill小贴士,每次刷新页面都会随机显示一条小贴士,我觉得挺不错的,就学了过来。现在将实现的方法记录与此,如果有人也想在自己的网页上添加小贴士的话,可以直接拿去用。

实现这个小贴士,是通过jsp实现的。在网页中想要显示小贴士的地方添加一句

<!-- src当然要换成你自己的js文件地址 -->
<script src="http://codeup.org/js/skills.js" type="text/javascript"></script>

具体在本网站中,因为使用了wordpress的主题,所以不是修改某个页面,而是修改主题模板。在主题编辑中找到顶部然后找到合适的地方添加一个div,然后将上面那段代码填进去就OK了。后面的地址你可以使用自己的js文件,我会附在文章后面(也是从别人那里找来的),或者你也可以直接使用上面的网址,只要通知我一声就好了,反正我的流量用不完……

模板修改显示skill贴士

在模板修中修改显示skill贴士

阅读全文…

malloc()和free()的相关知识

2011年4月28日  4,225 views 2 条评论

之前有一篇文章是写全局变量、静态变量、局部变量、静态局部变量以及栈和堆在内存中的存储区别的,最近我又看了一篇关于C中Malloc函数和Free函数对内存操作的,《浅谈C中的malloc和free》,通过这篇文章,我对C的内存申请以及释放有了新的、全面的认识。我想,不仅是C,C++或者C#等其他语言的内存申请释放应该也是使用相近的方法吧。下面我简单总结了一下《浅谈》的主要内容,再加上一点我自己的理解。

之前,我对malloc和free的了解,仅仅是在C中使用这两个函数来申请和释放内存,只知道怎么使用,用malloc申请一段给定大小的内存,返回一个Void* 指针,当使用完这段内存后需要手动调用free来释放这段内存。

一、malloc() 和 free() 的基本概念和用法:

 

1、函数原型及说明:

void *malloc(long NumBytes): 该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。

void free(void *FirstBytes): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。

2、函数用法:

这两个函数的用法其实很简单,就是用malloc()申请内存,用完这段内存后交给free()来释放着段内存。简单例子:

#include<stdio.h>
int main()
{
	char *Ptr = NULL;
	Ptr = (char*)malloc(100 * sizeof(char)); //Malloc
	if (NULL == Ptr)
	{
		printf("malloc failed");
		return 1;
	}
	gets(Ptr);
	printf("%s",Ptr);
	//code...

	free(Ptr);//Free
	return 0;
}

阅读全文…

Mb、MB – 存储和网络速度计算单位详解

2011年4月27日  5,429 views 没有评论

Mbps和MBps两个看着一样的兄弟,别看只差一个大小写,但是写法和叫法却不一样,Mbps全称 Megabits Per Second,而MBps的全称则是Megabyte Per Second。

无论用作电脑储存或网络速度的计算单位,Kb/s和KB/s英文字母大写和小写之意义截然不同,这是许多人常会犯错的地方。

而在换算中 bits是最小的单位,代表一个2进制位。

1byte = 8bits
1KB   = 1024 byte
1MB   = 1024 KB
1GB   = 1024 MB
1TB   = 1024 GB

1MBps    = 8Mbps
1Mbps    = 1024Kbps
1Kbps    = 1024bps
1024Mbps = 1Gbps

算下来,可以看出,MBps 和 Mbps 相差8倍,我们上网,供应商开出的1M, 2M, 5M, 8M, 10M 带宽其实都是Mbps而不是MBps,只要换算一下就可以算出我们的实际速度是多大了。

据TMnet Streamyx官方网站披露,除了以太网络标头值(Ethernet Header)之外,这些流失因素包括传输控制协议标头值(TCP Header)有5至10%的传输消耗,而异步传输模式标头值(ATM Header)则多达15%。
因此:1M宽频的实际上网速度是1乘以1024和除去8,得出128KB/s再乘75%,等于96KB/s,就是你的1M宽频网络的真正速率。

分类: 心得笔记 标签: , , ,

全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别以及栈与堆的区别

2011年4月26日  15,581 views 5 条评论

全集变量、局部变量、静态全局变量、静态局部变量在内存中如何存储,有什么区别,栈和堆的区别,这都是C/C++的基础问题。在各种招聘笔试面试中,经常都能够遇到与之相关的问题。前些日子我看了一些与之相关的文章,现在总结一下存放于此。

先分析一下四种变量的区别:

 

一、先由程序的内存分配说起,一个完整的C/C++程序在运行时会占用的内存分为几个部分。

  1. 栈(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
  2. 堆(heap) :一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。malloc和new等操作实际上就是在堆中申请内存,对象使用完后要手动释放,否则只能等待程序结束时由系统回收,会产生内存泄漏。
  3. 全局区(静态区)(static):全局变量和静态变量是存储在一起的,初始化过的全局变量和静态变量在同一块区域,未初始化的全局变量和静态变量存放在一块相邻的区域内。此区域由系统在程序结束后释放。
  4. 文字常量区:常量字符串存放于此,在程序结束后由系统释放。字符常量就是像这样的 char* str=”abc”;其中的”abc”。在实际情况中,是会复用的,比如变量a和b都赋值为”abc”则实际上他们指向同一块地址。
  5. 程序代码区:存放函数体的二进制代码。

阅读全文…