2009年5月10日星期日

系统变慢十大原因

有很多人,都说自已的计算机如何慢、如何慢,其实令自已的计算机慢的原因,如果将所有原因算出来,简直多的是!不过我会在这里简介一下令计算机慢的主因!
  1、在开机时加载太多程序
  2、桌面上开启桌布
  3、没有定期清理硬磁盘和重组硬磁盘
  以下的,我就会很详细地说明一下如何加速计算机和令计算机慢的病征!解决七大常见影响计算机表现的原凶当计算机忽然慢下来时,你可能会怀疑自己是否做错了甚么而引致损害了计算机?其实不必太介怀,因为一个小小改变,都可能会影响到计算机运作表现,而且在使用计算机的过程中,无可避免地都会引起各种些微的改变。任何问题总有方法可以解决的,就让我细细道出七大常见影响计算机表现的原因,解决了它们之后,便可以安心享用计算机的高性能。
  4、删除常驻程序
  何谓常驻程序呢?常驻程序就是在开机时加载的程序,而那些程序就叫做常驻程序。常驻程序不但拖慢开机时的速度,而且更快地消耗计算机资源以及内存,但你可能会问:那些程序全都有用的耶!那我可以答你的就是:你想要那些有用的程序来牺牲速度,还是不要那些程序来回复速度呢?自己想一想吧!一般来说,如果想删除常驻程序,可去"启动"清单中删除,但如果想详细些,例如是icq、popkiller 之类的软件,是不能在"启动"清单中删除的,要去"附属应用程序",然后去 "系统工具",再去"系统信息",进去后,按上方工具列的"工具",再按"系
统组态编辑程序",进去后,在"启动"的对话框中,就会详细列出在启动电
脑时加载的常驻程序了!
  5、桌面上不要摆放桌布和关闭activedesktop

  不知大家有否留意到,我们平时一直摆放在桌面的桌布,其实是很浪费计算机资源的!不但如此,而且还拖慢计算机在执行应用程序时的速度!本想美化桌面,但又拖慢计算机的速度,在这时,你是否会有一种"不知怎样"的感觉呢?还有一点,不知大家有否试过,就是当开启桌布时,每逢关闭一个放到最大的窗口时,窗口总是会由上而下、慢慢、慢慢地落,如果有这种情况出现,你必须关闭桌布!方法是:在桌面上按鼠标右键,再按内容,然后在"背景"的对话框中,选"无",建议在"外观"的对话框中,在桌面预设的青绿色,改为黑色......至于关闭activedesktop,即是叫你关闭从桌面上的web画面,例如在桌面上按鼠标右键,再按内容,然后在"背景"的对话框中,有一幅桌布,名为windows98,那副就是web画面了!所以千万不要开启。依我所说,布只可拿四个字来形容,就是"红颜祸水"!
  6、删除一些不必要的字型
  系统运行得慢的其中一个原因,就是字型多少的关系!安装的字型愈多,就占用愈多的内存,从而拖慢计算机的速度!所以我们要删除一些不必要的字型。要删除一些不必要的字型,你可到控制台,再进去一个叫"字型"的数据夹,便可删除字型,但,要怎样才知道,那些字有用,那些字没用呢?例如:如果你不常到 ms_dos模式的话,就删除dos 字型!因为各个人都可能喜爱某种字型,所以我也不能确定要删除那些
字型,不过我在此,有个秘决教你,如果你有华康粗黑字型,且又有新
细明体的字型,建议你删除华康粗黑字型,如果你有新细明体,且又有细明体,就删除细明体吧!
  7、定期重组硬磁盘
  计算机硬盘中最细小的单位是扇区,一个档案通常会占用若干扇区,每当硬盘用久了,无数次的新增、更改和删除档案后,就会造成很多断断续续的扇区,因而非连续性的档案便会愈来愈多,硬盘磁头便需要花更多时间跳来跳去来读取数据,这就导致硬盘速度减慢。有见及此,windows才会有"重组磁盘"出现。只要执行"重组磁盘",所有非连续性的档案都会被重新编排得整整齐齐,至于执行时间,大约一星期左右执行一次便可了。
  8、设定虚拟内存
  硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取,因此存取这个档案的速度便构成影响计算机快慢的非常重要因素!一般win98预设的是由系统自行管理虚拟内存,它会因应不同程序所需而自
动调校交换档的大小,但这样的变大缩小会给系统带来额外的负担
,令系统运作变慢!有见及此,用家最好自定虚拟内存的最小值和最大值,避免经常变换大小。要设定虚拟内存,在"我的计算机"中按右键,再按内容,到"效能"的对话框中,按"虚拟内存",然后选择"让自已设定虚拟内存设定值",设定"最小值"为64,因为我的计算机是32mbram,所以我就设定为64,即是说,如果你的内存是64mbram,那在"最小值"中,就设为128。顺带一提,在"效能"的对话框中,选择"档案",将原先设定的" 桌上型计算机",改为"网络服务器",是会加快系统运作的;还有,在"磁盘"的对话框中,不要选"每次开机都搜寻新的磁盘驱动器",是会加快开机速度的!
  9、更改开机时的设定
  虽然你已知道了如何新增和移除一些常驻程序,但你又知不知道,在开机至到进入win98的那段时间,计算机在做着什么呢?又或者是,执行着什么程序呢?那些程序,必定要全部载完才开始进入win98,你有否想过,如果可删除一些不必要的开机时的程序,开机时的速度会否加快呢?答案是会的!想要修改,可按"开始",选"执行",然后键入win.ini,开启后,可以把以下各段落的内容删除,是删内容,千万不要连标题也删除!它们包括:[compatibility]、[compatibility32]、[imecompatibility]、[compatibility95]、[modulecompatibility]和。
  10、彻底删除程序
  大家都知道,如果想移除某些程序,可到"新增/移除程序"中移除,但大家又知不知道,它只会帮你移除程序,而不会帮你移除该程序的注册码和一些登录项目呢?这不是win98蠢,而是它在这方面不够专业,要彻底删除程序,要找回些"专业"删除软件来移除才成事!先前symantec公司出品的nortonuninstall(以下简称为nud),因为有某部份破坏了某些删除软件的版权,故此全世界已停止出售,正因如此,symantec才出了cleansweep(以下简称为cs),不过论功能上,还是nud更胜一寿!言归正传,其实除了这两个软件外,还有很多同类软件都能有效地移除程序,既然nud已绝版,那我就说cs吧。下载并安装后,如果你想移除程序,只要用cs来移除,它便会一拼移除该程序的登录项目和注册码!我在此帮"新增/移除程序"改了个别名,就是"新增垃圾、移除程序"!垃圾是指被遗弃的登录项目和注册码,程序就是程序啰!
  做好以上十点,相信你的爱机已经是健步如飞了。当然了,如果还是很慢的话,那就应该考虑硬件升级了

一招!杜绝autorun病毒

一招!杜绝autorun病毒
1. 运行CMD,进入DOS界面,因为这个非法的文件夹只能在DOS下创建。
2. 输入“X:”回车(不含引号,下同),其中X表示盘符,比如你有C、D、E等硬盘分区,或者把U盘插上后的盘符,记得不要试图在光驱盘符上操作哟。
3. 输入“md autorun.inf”,创建autorun.inf文件夹;
4. 输入“cd autorun.inf”,进入autorun.inf文件夹;
5. 输入“md haha..\”,haha可随意起各其他名字,但不要太长,三五字符个即可。注意这是关键的一步,haha的后面一定要输入两个点和一个反斜杠,这样建立的就是一个含有非法字符的文件夹,windows下无法进入也无法删除了。
6. 回到窗口界面,试试删除这个文件夹~ 嘿嘿,一般方法删不掉的哦~
此方法能对付大部分的autorun病毒!

巧妙破解Windows XP登陆口令

Windows XP强大而友好的系统界面博得了越来越多用户的青睐,然而它对用户安全性的审核即是非常严格的,要是你忘记了设置的口令(密码),可别以为能够像Windows 98那样选择“取消”同样可以进入系统--这一点相信安装Windows XP的你,是很清楚的。当然这也是有过痛苦的经历后,才被我们重视的。
由于没有登陆口令,无法进入系统;起初的方法总是选择重新安装Windows XP,但这种方法但繁琐,而且费时费力,经过多次实验之后,终于找到了一个可以不需要任何其它软件,就可破解Windows XP登录口令的方法:
但是破解登陆口令,需要有两个必要的前提:
1.安装Windows XP的分区必须采用FAT32文件系统;
2.用户名中没有汉字。
在确认满足这两个条件后,即可执行以下步骤,来破解登陆口令。
1.开机启动Win XP,当运行到“正在启动Windows XP”的提示界面时,按“F8”键调出系统启动选择菜单,选择“带命令行安全模式”;
2.当运行停止后,会列出“Administrator”和其它用户的选择菜单(本例的其他用户以xpuser01为例),选择“Administrator”后回车,进入命令行模式;
3.键入命令““net user xpuser01 1234/ADD”这是更改该用户密码的命令,命令中的“1234”是更改后的新密码,如果键入的用户不存在(xpuser01),那么系统会自动添加这个用户。
4.另外还可以使用“net 1oca1group administrator xpuser01 /ADD”命令把xpuser01这个用户升为超级用户,即可拥有所有权限。
5.最后一步,就是重新启动计算机,在登录窗口中输入刚刚更改的新密码便可成功登陆。
如果你正在为丢失了登陆口令而烦恼的话,不妨试一试此方法

让你的电脑达到最强安全的配置

1.察看本地共享资源
  运行CMD输入net share,如果看到有异常的共享,那么应该关闭。但是有时你关闭共享下次开机的时候又出现了,那么你应该考虑一下,你的机器是否已经被黑客所控制了,或者中了病毒。
  2.删除共享(每次输入一个)
  net share admin$ /delete
  net share c$ /delete
  net share d$ /delete(如果有e,f,……可以继续删除)
  3.删除ipc$空连接
  在运行内输入regedit,在注册表中找到 HKEY_LOCAL_MACHINE SYSTEM CurrentControSet Control LSA 项里数值名称RestrictAnonymous的数值数据由0改为1。
  4.关闭自己的139端口,ipc和RPC漏洞存在于此。
  关闭139端口的方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WinS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。
5.防止rpc漏洞
  打开管理工具——服务——找到RPC(Remote Procedure Call (RPC) Locator)服务——将故障恢复中的第一次失败,第二次失败,后续失败,都设置为不操作。
  XP SP2和2000 pro sp4,均不存在该漏洞。
  6.445端口的关闭
  修改注册表,添加一个键值
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters在右面的窗口建立一个SMBDeviceEnabled 为REG_DWORD类型键值为 0这样就ok了
  7.3389的关闭
  XP:我的电脑上点右键选属性-->远程,将里面的远程协助和远程桌面两个选项框里的勾去掉。
  Win2000server 开始-->程序-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务。(该方法在XP同样适用)
  使用2000 pro的朋友注意,网络上有很多文章说在Win2000pro 开始-->设置-->控制面板-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务,可以关闭3389,其实在2000pro 中根本不存在Terminal Services。
  8.4899的防范
  网络上有许多关于3389和4899的入侵方法。4899其实是一个远程控制软件所开启的服务端端口,由于这些控制软件功能强大,所以经常被黑客用来控制自己的肉鸡,而且这类软件一般不会被杀毒软件查杀,比后门还要安全。
  4899不象3389那样,是系统自带的服务。需要自己安装,而且需要将服务端上传到入侵的电脑并运行服务,才能达到控制的目的。
  所以只要你的电脑做了基本的安全配置,黑客是很难通过4899来控制你的。
  9、禁用服务
  打开控制面板,进入管理工具——服务,关闭以下服务
  1.Alerter[通知选定的用户和计算机管理警报]
  2.ClipBook[启用“剪贴簿查看器”储存信息并与远程计算机共享]
  3.Distributed File System[将分散的文件共享合并成一个逻辑名称,共享出去,关闭后远程计算机无法访问共享
  4.Distributed Link Tracking Server[适用局域网分布式链接? 倏突Ф朔馷
  5.Human Interface Device Access[启用对人体学接口设备(HID)的通用输入访问]
  6.IMAPI CD-Burning COM Service[管理 CD 录制]
  7.Indexing Service[提供本地或远程计算机上文件的索引内容和属性,泄露信息]
  8.Kerberos Key Distribution Center[授权协议登录网络]
  9.License Logging[监视IIS和SQL如果你没安装IIS和SQL的话就停止]
  10.Messenger[警报]
  11.NetMeeting Remote Desktop Sharing[netmeeting公司留下的客户信息收集]
  12.Network DDE[为在同一台计算机或不同计算机上运行的程序提供动态数据交换]
  13.Network DDE DSDM[管理动态数据交换 (DDE) 网络共享]
  14.Print Spooler[打印机服务,没有打印机就禁止吧]
  15.Remote Desktop Help& nbsp;Session Manager[管理并控制远程协助]
  16.Remote Registry[使远程计算机用户修改本地注册表]
  17.Routing and Remote Access[在局域网和广域往提供路由服务.黑客理由路由服务刺探注册信息]
  18.Server[支持此计算机通过网络的文件、打印、和命名管道共享]
  19.Special Administration Console Helper[允许管理员使用紧急管理服务远程访问命令行提示符]
  20.TCP/IPNetBIOS Helper[提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享文件、打印和登录到网络]
  21.Telnet[允许远程用户登录到此计算机并运行程序]
  22.Terminal Services[允许用户以交互方式连接到远程计算机]
  23.Window s Image Acquisition (WIA)[照相服务,应用与数码摄象机]
  如果发现机器开启了一些很奇怪的服务,如r_server这样的服务,必须马上停止该服务,因为这完全有可能是黑客使用控制程序的服务端。
  10、账号密码的安全原则
  首先禁用guest帐号,将系统内建的administrator帐号改名~~(改的越复杂越好,最好改成中文的),而且要设置一个密码,最好是8位以上字母数字符号组合。 (让那些该死的黑客慢慢猜去吧~)
  如果你使用的是其他帐号,最好不要将其加进administrators,如果加入administrators组,一定也要设置一个足够安全的密码,同上如果你设置adminstrator的密码时,最好在安全模式下设置,因为经我研究发现,在系统中拥有最高权限的帐号,不是正常登陆下的adminitrator帐号,因为即使有了这个帐号,同样可以登陆安全模式,将sam文件删除,从而更改系统的administrator的密码!而在安全模式下设置的administrator则不会出现这种情况,因为不知道这个administrator密码是无法进入安全模式。权限达到最大这个是密码策略:用户可以根据自己的习惯设置密码,下面是我建议的设置(关于密码安全设置,我上面已经讲了,这里不再罗嗦了。
  
  打开管理工具.本地安全设置.密码策略
     1.密码必须符合复杂要求性.启用
     2.密码最小值.我设置的是8
     3.密码最长使用期限.我是默认设置42天
     4.密码最短使用期限0天
     5.强制密码历史 记住0个密码
     6.用可还原的加密来存储密码 禁用
  
  11、本地策略:
  这个很重要,可以帮助我们发现那些心存叵测的人的一举一动,还可以帮助我们将来追查黑客。
  (虽然一般黑客都会在走时会清除他在你电脑中留下的痕迹,不过也有一些不小心的)
  打开管理工具
  
  找到本地安全设置.本地策略.审核策略
     1.审核策略更改 成功失败
     2.审核登陆事件 成功失败
     3.审核对象访问 失败
     4.审核跟踪过程 无审核
     5.审核目录服务访问 失败
     6.审核特权使用 失败
     7.审核系统事件 成功失败
     8.审核帐户登陆时间 成功失败
     9.审核帐户管理 成功失败
     &nb sp;然后再到管理工具找到
     事件查看器
     应用程序:右键>属性>设置日志大小上限,我设置了50mb,选择不覆盖事件
     安全性:右键>属性>设置日志大小上限,我也是设置了50mb,选择不覆盖事件
     系统:右键>属性>设置日志大小上限,我都是设置了50mb,选择不覆盖事件
  12、本地安全策略:
  打开管理工具  
  找到本地安全设置.本地策略.安全选项    
     1.交互式登陆.不需要按 Ctrl+Alt+Del 启用 [根据个人需要,? 但是我个人是不需要直接输入密码登陆的]
     2.网络访问.不允许SAM帐户的匿名枚举 启用
     3.网络访问.可匿名的共享 将后面的值删除
     4.网络访问.可匿名的命名管道 将后面的值删除
     5.网络访问.可远程访问的注册表路径 将后面的值删除
     6.网络访问.可远程访问的注册表的子路径 将后面的值删除
     7.网络访问.限制匿名访问命名管道和共享
     8.帐户.(前面已经详细讲过拉

2009年5月3日星期日

JAVA基本字符串

其实字符串是没有的,它是从字符型中衍生出来的,我们借助String类来生成相应的字符串。
在字符串中我们要以双引号做为定界符号,并注意转义字符的使用,例如以下字符串是全法的:
“Hello Word” “” “\n” “Hello”+”Word”
一、 字符串的创建:可以使用赋值运算符或是使用类的构造函数
1、 使用赋值运算符:“=”
例:以下是合法的:
String s1=”Hello Word”;
String s2=”everybody”;
String s3=s1+s2;
但通过上节课的学习我们知道,直接将一个其它类型的值赋值给字符串是不合法的,如:
float f=3.12;
String s=f;
需要通过类的toString()方法实现
Float F=new float(3.12);
String s=F.toString();
2、使用String类的构造函数:一共七种如下
构造方法 功能描述
String() 创建一个空字符串
String(String s) 根据字符串创建一个新字符串
String(char[] charArray) 根据字符数组创建一个新字符串
String(char[] charArray,int off,int len) 根据字符数组的指定部分创建一个新字符串
off为起始位置,len为字符数
String(byte[],int highbyte) 根据字符数组创建一个新字符串,highbyte为高
位字节
String(byte[],int highbyte,int off,int len) 根据字节数组的指定部分创建一个新字符串
String(StringBuffer) 根据StringBuffer对象创建一个新字符串
我们看下面的例子:
public class StringTest{
public static void main(String args[]){
char charArray[]={'P','R','O','G','R','A','M'};
String s0=new String(); //等同于String s0=""
String s1=new String("PROGRAM"); //等同于String s1="PROGRAM"
String s2=new String(s1); //等同于String s2=s1
String s3=new String(charArray);
String s4=new String(charArray,2,4); //从第二位后的4 位
System.out.println(s0);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);
}
}
二、 字符串连接
(1) 通过”+”号直接连接两个字符串,当第一个是字符串而第二个是数值时,则后者转换成字符串后进行连接。看下面例子:
public class StringConnect{
public static void main(String args[]){
String s1="Hello Word";
String s2="everyone!";
String s3=s1+s2;
int i=500;
String s4=s3+i;
System.out.println(s3);
System.out.println(s4);
}
}
(2) 利用concat()方法实现连接,如下例:
public class StringConnect{
public static void main(String args[]){
String s1="Hello ";
String s2="word!";
String s3=s1.concat(s2);
System.out.println(s3);

学习C++的最大难度

学习C++的最大难度
困难度之一

“C++ 是个难学易用的语言”,这句话相信很多人都心有戚戚。C++的学习难度,一在于语言本身太多的“幕”,另一个就在于 "paradigm shift" (思考模式的移转)。

传统语言如 C, Pascal, Basic, Fortran...,除了模样看起来稍有不同,基本上都是函式 call 来 call 去,大同小异,很容易掌握。你想做的动作,在 code 中都看得一清二楚。你所看不到的,也不过就是编译器为你的函式加上用以处理堆叠的一小段码(prologue 和 epilogue),这一小段码基本上做的是 housekeeping 工作,你没看到也没有关系,并不影响你对程式逻辑的思考。

C++ 不一样,C++ 有太多和程式逻辑息息相关的动作是编译器为我们加上去的。换句话说 C++ 编译器为我们“加码”。如果不识清这一节,学习C++ 有如雾里看花,雾非雾,花非花。

编译器为我们的 C++ 程式加了什么码呢?很多!物件诞生时 ctor 会被唤起,物件死亡时 dtor 会被唤起,这都是加码的结果。ctor 中设定vtpr 和 vtbl,这也是加码的结果。new 单一物件时会产生 memory block cookie,new 物件阵列时会产生一个内部结构记录着 object size 和 class ctor...,这也都是布幕后的工作。可以说,程式码中看不到而却必须完成的所有与程式逻辑有关的动作,统统都是 C++ 编译器加码后的结果。

当“继承”发生,整个情况变得稍微复杂起来。“多重继承”又更复杂一些,“虚拟继承”又再更复杂一些。

这些布幕后的主题,统可归类为所谓的 C++ object model(物件模型)。如果不知道这些底层机制,你就只能够把 "make destructors virtual in base classes"或 "never treat arrays polymorphically"这类规则硬背下来,却不明白它的道理。用一样东西,却不明白它的道理,林语堂如是说:“不高明”。只知道 how,不知道 why。

困难度之二

C++ 的第二个学习难度在于 "paradigm shift"(思考模式的移转)。别说自己设计classes 了,光使用别人的classes,就都是一种思考模式和行为模式的移转。MFC(或 OWL 或 VCL)programmer 必然能够领略并体会其中的意思。

使用所谓的 application framework(一种大型的、凝聚性强的、有着物件导向公共基础建设的 class library),你的码和 framework 之间究竟是怎样的关系呢?framework 提供的一大堆可改写的虚拟函式的意义与价值究竟在哪里呢?为什么 framework 所设计的种种美好性质以及各式各样的演算法竟然可以施行于我们自己设计的 class types 身上呢?framework 被设计时,也并不知道我们的存在。这正是物件导向中的多型(polymorphism)的威力。

稍早所说的 C++ 物件模型,偏属程式设计的低层面;这里所说的思考模式移转,则是程式设计的高层面。能够把新思维模式的威力发挥得最淋漓尽致的,当推物件导向的 polymorphism(多型)和 generalization(泛型)。如果你没有使用这两项特性,等于入 C++ 宝山却空手而归。

反覆磨炼,循环震荡

想像 C++ 是一把用来解决程式问题的刀,要它坚轫,要它锋利,就必须经过多次的回火,在高热和骤冷之间——炼。

初学 C++ 语法(syntax)之后,你应该尽快尝试体验 polymorphism(大致而言也就是虚拟函式的运用)。等到对 OOP 的精神有了大局掌控的能力,但对 C++ 的许多小细节不甚清楚,就是回到C++ 物件模型 炼的时机。

成长,是在高阶(polymorphism)和低阶(object model)之间反覆震荡,才能够震荡到更高的位阶,而不是平平庸庸于中阶(C++ syntax)的一滩死水。

C语言指针使用方法

为初学者服务。这是本文的宗旨。指针是c和c++中的难点和重点。有些程序员们精通dos下的basic。c语言的其它各种特性,在basic中都有类似的东西。只有指针,是baisc所不具备的。指针是c的灵魂。

我不想重复大多数书上说得很清楚的东西,我只是把我看过的书中说得不清楚或没有说,而我又觉得我理解得有点道理的东西写出来。

1、指针的概念

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。

先声明几个指针放着做例子:

例一:
复制内容到剪贴板代码:
(1)int*ptr;
(2)char*ptr;
(3)int**ptr;
(4)int(*ptr)[3];
(5)int*(*ptr)[4];

1、指针的类型

从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:
复制内容到剪贴板代码:
(1)int*ptr;
//指针的类型是int*
(2)char*ptr;
//指针的类型是char*
(3)int**ptr;
//指针的类型是int**
(4)int(*ptr)[3];
//指针的类型是int(*)[3]
(5)int*(*ptr)[4];
//指针的类型是int*(*)[4]

怎么样?找出指针的类型的方法是不是很简单?

2、指针所指向的类型

当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。

从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:
复制内容到剪贴板代码:
(1)int*ptr;
//指针所指向的类型是int
(2)char*ptr;
//指针所指向的的类型是char
(3)int**ptr;
//指针所指向的的类型是int*
(4)int(*ptr)[3];
//指针所指向的的类型是int()[3]
(5)int*(*ptr)[4];
//指针所指向的的类型是int*()[4]

在指针的算术运算中,指针所指向的类型有很大的作用。指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越来越熟悉时,你会发现,把与指针搅和在一起的"类型"这个概念分成"指针的类型"和"指针所指向的类型"两个概念,是精通指针的关键点之一。

3、指针的值,或者叫指针所指向的内存区或地址

指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32位程序里,所有类型的指针的值都是一个32位整数,因为32位程序里内存地址全都是32位长。

指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为sizeof(指针所指向的类型)的一片内存区。以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。

指针所指向的内存区和指针所指向的类型是两个完全不同的概念。在例一中,指针所指向的类型已经有了,但由于指针还未初始化,所以它所指向的内存区是不存在的,或者说是无意义的。

以后,每遇到一个指针,都应该问问:这个指针的类型是什么?指针指向的类型是什么?该指针指向了哪里?

4、指针本身所占据的内存区

指针本身占了多大的内存?你只要用函数sizeof(指针的类型)测一下就知道了。在32位平台里,指针本身占据了4个字节的长度。指针本身占据的内存这个概念在判断一个指针表达式是否是左值时很有用。


第二章 指针的算术运算

指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如:

例二:
复制内容到剪贴板代码:
1.chara[20];
2.int*ptr=a;
...
...
3.ptr++;

在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整形变量a。接下来的第3句中,指针ptr被加了1,编译器是这样处理的:它把指针ptr的值加上了sizeof(int),在32位程序中,是被加上了4。

由于地址是用字节做单位的,故ptr所指向的地址由原来的变量a的地址向高地址方向增加了4个字节。由于char类型的长度是一个字节,所以,原来ptr是指向数组a的第0号单元开始的四个字节,此时指向了数组a中从第4号单元开始的四个字节。我们可以用一个指针和一个循环来遍历一个数组,看例子:

例三:
复制内容到剪贴板代码:
intarray[20];
int*ptr=array;
...
//此处略去为整型数组赋值的代码。
...
for(i=0;i<20;i++)
{
(*ptr)++;
ptr++;
}

这个例子将整型数组中各个单元的值加1。由于每次循环都将指针ptr加1,所以每次循环都能访问数组的下一个单元。

再看例子:

例四:
复制内容到剪贴板代码:
1.chara[20];
2.int*ptr=a;
...
...
3.ptr+=5;

在这个例子中,ptr被加上了5,编译器是这样处理的:将指针ptr的值加上5乘sizeof(int),在32位程序中就是加上了5乘4=20。由于地址的单位是字节,故现在的ptr所指向的地址比起加5后的ptr所指向的地址来说,向高地址方向移动了20个字节。

在这个例子中,没加5前的ptr指向数组a的第0号单元开始的四个字节,加5后,ptr已经指向了数组a的合法范围之外了。虽然这种情况在应用上会出问题,但在语法上却是可以的。这也体现出了指针的灵活性。

如果上例中,ptr是被减去5,那么处理过程大同小异,只不过ptr的值是被减去5乘sizeof(int),新的ptr指向的地址将比原来的ptr所指向的地址向低地址方向移动了20个字节。

总结一下,一个指针ptrold加上一个整数n后,结果是一个新的指针ptrnew,ptrnew的类型和ptrold的类型相同,ptrnew所指向的类型和ptrold所指向的类型也相同。ptrnew的值将比ptrold的值增加了n乘sizeof(ptrold所指向的类型)个字节。就是说,ptrnew所指向的内存区将比ptrold所指向的内存区向高地址方向移动了n乘sizeof(ptrold所指向的类型)个字节。

一个指针ptrold减去一个整数n后,结果是一个新的指针ptrnew,ptrnew的类型和ptrold的类型相同,ptrnew所指向的类型和ptrold所指向的类型也相同。ptrnew的值将比ptrold的值减少了n乘sizeof(ptrold所指向的类型)个字节,就是说,ptrnew所指向的内存区将比ptrold所指向的内存区向低地址方向移动了n乘sizeof(ptrold所指向的类型)个字节。

mySQL+PHP 乱码原理与解决

mysql+php产生乱码原因:

mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
PHP页面字符集不正确.

PHP连接MYSQL数据库语句指定的编码不正确.

注意:

很多人都怀疑mysql版本不一致会导致乱码,相信看了本说明你就不会这样认为了.

平时你在某些网站看到的文字可能有几种编码, 如你看到一个繁体字,它有可能是big5编码,也有 可能是utf-8编码的,更有可能是gb码的,没错,也就是说有简体编码的繁体字,也有繁体编码的简体字,一定要了解这一点.

如果你是做一个简体编码的网页,编码定为GB2312,如果有香港和台湾地区的访客提交繁体的信息,就可能会造成乱码,解决方法:

将网站编码设为 utf-8,这样可以兼容世界上所有字符,

如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK.

使用mysql+php产生乱码的原因都了解得很清楚了,那么解决就不困难了.

mysql+php产生乱码的解决办法:

如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题

修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:

ALTER DATABASE ’test’ DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是将test数据库的编码设为utf8.

修改表的编码:

ALTER TABLE ’category’ DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是将一个表category的编码改为utf8.

修改字段的编码:

ALTER TABLE ’test’ CHANGE ’dd’ ’dd’ VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

以上命令就是将test表中 dd的字段编码改为utf8.

如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可.

这种情况也是修改页面charset即可.

在连接数据库的语句中.

  mysql_connect(’localhost’,’user’,’password’);
  mysql_select_db(’my_db’);
  mysql_query(“set names utf8;“); //select 数据库之后加多这一句

  为了避免PHP页面乱码的发生,PHP页面开始第一句
  header(“content-type:text/html; charset=utf-8“);
  //强行指定页面的编码,以避免乱码

注意:

  照以上方法修改以后只能保证你新插入的数据不会乱码,举个例:如果你用户已提交的数据是BIG5,你却想通过以上方法改为可以在GB2312的网页正确显示是不可能的, 这种文字内码的变换只能通过另写程序来解决。

64 位机上的 64 位类型是什么样的?

64 位机上的 64 位类型是什么样的?
C99 标准定义了 long long 类型, 其长度可以保证至少 64 位, 这种类型在某些编译器上实现已经颇有时日了。其它的编译器则实现了类似 __longlong 的扩展。 另一方面, 也可以实现 16 位的短整型、 32 位的整型和 64 位的长整型, 有些编译器正是这样做的。

怎样定义和声明全局变量和函数最好?

怎样定义和声明全局变量和函数最好?
首先, 尽管一个全局变量或函数可以 (在多个编译单元中) 有多处 ``声明'', 但是 ``定义'' 却只能允许出现一次。定义是分配空间并赋初值 (如果有) 的声明。最好的安排是在某个相关的 .c 文件中定义, 然后在头文件 (.h) 中进行外部声明, 在需要使用的时候, 只要包含对应的头文件即可。定义变量的 .c 文件也应该包含该头文件, 以便编译器检查定义和声明的一致性。
这条规则提供了高度的可移植性: 它和 ANSI C 标准一致, 同时也兼容大多数 ANSI 前的编译器和连接器。Unix 编译器和连接器通常使用 ``通用模式'' 允许多重定义, 只要保证最多对一处进行初始化就可以了; ANSI C 标准称这种行为为 ``公共扩展'', 没有语带双关的意思。

可以使用预处理技巧来使类似

DEFINE(int, i);

的语句在一个头文件中只出现一次, 然后根据某个宏的设定在需要的时候转化成定义或声明。但不清楚这样的麻烦是否值得。
如果希望让编译器检查声明的一致性, 一定要把全局声明放到头文件中。特别是, 永远不要把外部函数的原型放到 .c 文件中: 通常它与定义的一致性不能得到检查, 而矛盾的原型比不用还糟糕。

通过 API 实现 C# 对硬件的控制

函数一: RegisterDeviceNotification
功能:注册设备或者设备类型,在指定的窗口返回相关的信息

原型:

HDEVNOTIFY WINAPI RegisterDeviceNotification(
__in HANDLE hRecipient,
__in LPVOID NotificationFilter,
__in DWORD Flags
);

参考说明文档:http://msdn2.microsoft.com/en-us/library/aa363431.aspx。

转为C#后的代码为:

[DllImport(“user32.dll“, CharSet = CharSet.Auto)]
public static extern IntPtr RegisterDeviceNotification(IntPtr hRecipient, DEV_BROADCAST_DEVICEINTERFACE NotificationFilter, UInt32 Flags);
[StructLayout(LayoutKind.Sequential)]
public class DEV_BROADCAST_DEVICEINTERFACE
...{
public int dbcc_size;
public int dbcc_devicetype;
public int dbcc_reserved;
}


函数二:UnregisterDeviceNotification
功能:通过名柄,关闭指定设备的信息。(主要应用于清理非托管资源,并与RegisterDeviceNotification配对使用)

原型:

BOOL WINAPI UnregisterDeviceNotification(
__in HDEVNOTIFY Handle
);

参考说明文档:http://msdn2.microsoft.com/en-us/library/aa363475(VS.85).aspx。

转为C#后的代码:

[DllImport(“user32.dll“, CharSet = CharSet.Auto)]
public static extern uint UnregisterDeviceNotification(IntPtr hHandle);

函数三:SetupDiGetClassDevs
功能:获取一个指定类别或全部类别的所有已安装设备的信息。

原型:

HDEVINFO SetupDiGetClassDevs( IN LPGUID ClassGuid, OPTIONAL IN PCTSTR Enumerator, OPTIONAL IN HWND hwndParent, OPTIONAL IN DWORD Flags );
参考说明文档:http://msdn2.microsoft.com/en-us/library/ms792959.aspx。

转为C#后的代码:

[DllImport(“setupapi.dll“, SetLastError = true)]
public static extern IntPtr SetupDiGetClassDevs(ref Guid gClass, UInt32 iEnumerator, IntPtr hParent, UInt32 nFlags);

函数四:SetupDiDestroyDeviceInfoList
功能:销毁一个设备信息集合,并且释放所有关联的内存。

原型:

WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList( IN HDEVINFO DeviceInfoSet );
参考说明文档:http://msdn2.microsoft.com/en-us/library/ms792991.aspx。

转为C#后的代码:

[DllImport(“setupapi.dll“, SetLastError = true)]
public static extern int SetupDiDestroyDeviceInfoList(IntPtr lpInfoSet);

函数五:SetupDiEnumDeviceInfo
功能:枚举指定设备信息集合的成员,并将数据放在SP_DEVINFO_DATA中。

原型:

WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(
IN HDEVINFO DeviceInfoSet,
IN DWORD MemberIndex,
OUT PSP_DEVINFO_DATA DeviceInfoData );
参考说明文档:http://msdn2.microsoft.com/en-us/library/ms792983.aspx。

转为C#后的代码:

[DllImport(“setupapi.dll“, SetLastError = true)]
public static extern bool SetupDiEnumDeviceInfo(IntPtr lpInfoSet, UInt32 dwIndex, SP_DEVINFO_DATA devInfoData);
/**//// 〈summary〉
/// 设备信息数据
/// 〈/summary〉
[StructLayout(LayoutKind.Sequential)]
public class SP_DEVINFO_DATA
...{
public int cbSize;
public Guid classGuid;
public int devInst;
public ulong reserved;
};


函数六:SetupDiGetDeviceRegistryProperty
功能:获取指定设备的属性。

原型:

WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryProperty(
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData,
IN DWORD Property,
OUT PDWORD PropertyRegDataType,
OPTIONAL OUT PBYTE PropertyBuffer,
IN DWORD PropertyBufferSize,
OUT PDWORD RequiredSize OPTIONAL );
参考说明文档:http://msdn2.microsoft.com/en-us/library/ms792967.aspx。

转为C#后的代码:

[DllImport(“setupapi.dll“, SetLastError = true)]
public static extern bool SetupDiGetDeviceRegistryProperty(IntPtr lpInfoSet, SP_DEVINFO_DATA DeviceInfoData, UInt32 Property, UInt32 PropertyRegDataType, StringBuilder PropertyBuffer, UInt32 PropertyBufferSize, IntPtr RequiredSize);

函数七:SetupDiSetClassInstallParams
功能:停用设备。

原型:

WINSETUPAPI BOOL WINAPI
SetupDiSetClassInstallParams(
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData,
OPTIONAL IN PSP_CLASSINSTALL_HEADER ClassInstallParams,
OPTIONAL IN DWORD ClassInstallParamsSize );
参考说明文档:http://msdn2.microsoft.com/en-us/library/ms792876.aspx。

转为C#后的代码:

[DllImport(“setupapi.dll“, SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool SetupDiSetClassInstallParams(IntPtr DeviceInfoSet, IntPtr DeviceInfoData, IntPtr ClassInstallParams, int ClassInstallParamsSize);

函数八:SetupDiCallClassInstaller
功能:启用设备。

原型:

WINSETUPAPI BOOL WINAPI
SetupDiCallClassInstaller(
IN DI_FUNCTION InstallFunction,
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL );
参考说明文档:http://msdn2.microsoft.com/en-us/library/ms792989.aspx。

转为C#后的代码:

[DllImport(“setupapi.dll“, CharSet = CharSet.Auto)]
public static extern Boolean SetupDiCallClassInstaller(UInt32 InstallFunction, IntPtr DeviceInfoSet, IntPtr DeviceInfoData);

经典笑话:99%的人看完后当场含笑而死

1:男女朋友睡一个房间,女的画了条线说:“过线的是禽兽。”醒来发现男的真的没过线,女的狠狠的打了男的一巴掌:“你连禽兽都不如。”
次日 男女有同睡一房女的照旧画了条线警告,男的有了上次的教训深夜打算过线,结果因为紧张而未果。天亮后,女的有打男的一巴掌说:“没想到你不如禽兽。”
2:在医院里,一家喜得贵子,孩子刚生下来就回说话,孩子说:“爷爷。”爷爷啊的一声就死了。孩子又说:“奶奶。”奶奶啊的一声死了。孩子又说:“爸爸。”他爸爸啊的一声,一看自己没死,这个时候,孩子的老叔啊的一声死了。
3:袋鼠和青蛙去嫖鸡,袋鼠三下两下完事,只听隔壁的青蛙整夜一二三嘿!一二三嘿!袋鼠好羡慕,次日,袋鼠说:“哇!~~蛙兄,你好棒哦!。”青蛙说:“操,老子一夜都没跳上床!~~”
4:我那天在超市看见一个看帖不回帖的人,他悄悄D把手放在条码扫描器上,只见屏幕显示:猪蹄 8元,他以为机器坏了,把脸凑过去,结果屏幕上显示:猪头肉 5元
5:一只大象问骆驼:‘你的咪咪怎么长在背上?’骆驼说:‘死远点,我不和鸡鸡长在脸上的东西讲话!
6:幼儿园女教师领学生游泳,不慎露出一根X毛,一学生问:老师,那是什么啊?女教师一狠心将其拔掉,说:线头!
7:小女孩总是向小男孩炫耀自己的新玩具.小男孩没办法,只好脱掉裤子说:这个你永远没有!女孩也脱掉裤子说:我妈说只要有这个,你那玩意儿要多少有多少!
8:一排妓女在街边等客,一位八旬老妇见到了,好奇的问:你们在等什么?妓女没好气的说:等棒棒糖!老妇也就排队加入队伍等糖,结果被警察抓,警察问老妇:你牙都没了也能干?老妇笑着曰:我可以舔的!!!
9:司机送领导参加文艺晚会,领导进了会场,司机被保安拦住,司机说:我跟领导是一个系统的,保安说:鸡X跟蛋也是一个系统的,鸡X进去了,蛋能进去吗?
10:一日,某君的老婆生小孩,他急急忙忙跑到医院看望,等了n个小时,产房里传来了哭声,他高兴大喊,我做爸爸了!这时医生满脸愁容走出来,告诉他,小孩子先天畸形。某君呆在那,还没明白什么原因,忽然产房里传来了他老婆的喊叫:都怪那天杀的,看贴老不回贴,报应呀 99%的人看完后当场含笑而死.....如果你没有倒地那你就是1%

不娶美女的经济学原因

美丽的姑娘是一道风景,可风景是放在外面看的,属于大众福利,不能随便带回家。 下面,我们就从经济学角度,对娶漂亮姑娘当老婆的不适应性进行分析。
一漂亮女孩子都是众星捧月的对象,即使你先下手为强,哪能保证别人的小心肝从此就不再乱跳?套一句前几年的流行语“有男朋友又怎样?只要没有结婚”。男人基本上不能容忍自己心爱的女人身边老是飞着一群绿头苍蝇。而且,说不定哪天你的爱情悄悄改朝换代,自己还被蒙在鼓里。毕竟,比你强的男人有很多。
点评:管理成本太高
二“三分长相七分打扮”。也就是说,漂亮的女孩不一定长得有多漂亮,多数时间是用化妆品堆出来。爱打扮的女孩子,都有两个特点:一是喜欢逛街,二是喜欢购物。说道逛街,我想无数须眉听了都会腿软。女人是一种神奇的动物,神奇到几乎推翻能量守恒定律:她们吃得不多,可是逛起街来,体力的爆发是惊人的。
点评:维护保养费高昂。
三 漂亮女孩子都是上得厅堂而下不了厨房的。因为油烟是皮肤的天敌,这可是名正言顺的。如果你想吃点什么,要么出去吃,要么自己动手做吧。以次类推,既然不下厨房,那么,家里的卫生保洁什么的,也只能你来代劳。
点评:使用价值不高
四 凡是漂亮女孩子身边,总会有不少仰慕者。仰慕者一多,难免惯养去一堆大小姐的坏毛病。臭脾气。不知道你受不受得了这些毛病和脾气。也许一两天可一忍住气,但是十年八年一辈子呢?你愿意一辈子当个窝囊废吗?
点评:保质期短。
五 无论你是第一个追她的人,还第十个追她的人,女人都会有对象来比较,尤其是漂亮的女人。比较某某某有能力啊,是不是比某某有本事啊,是不是比某某有钱啊……你不要塞着耳朵啊,还没有比完呢……
点评:这是考验你的心理承受能力的附加题。
六因为追求或者拥有一个没有良知的、可共富贵不可共患难的美女,而丧失与“我很丑但我很温柔”的女生交往,是男人的悲哀。美女,自知美而不肯控制自己的膨胀心理的多得是,等到哪天你混得一旦不如人意,她一脚把你踢开,看你什么感受?!兄弟们。
点评:娶美女的机会成本高,风险系数比较大。
但是有美女做老婆以上困难还是可以克服的

男女强暴对话

男女在海边散步,看见远处有一军舰。
    男:这几年,我在你身上花的钱足以买下这艘军舰了!
    女:屁话!这几年你在我身上打的炮足以击沉这艘军舰了!

几个关于美女的笑话

1、晚宴上,火箭专家向大家透露:“最近,我们要把几只老鼠送到火星上去。”话音未落,一个美女插嘴说:“这样灭鼠,成本太高啦!”

女人凭直觉办事,觉得事情是什么样就是什么样,不调查研究,不进行理性思考。毛主席说过,没有调查研究,就没有发言权。没有发言权,女人照样发言。她们自我感觉良好,根本不把别人的意见当回事,漂亮女人尤其如此。


2、女教师在黑板上画了一个苹果,然后提问:“孩子们,这是什么呀?”孩子们异口同声地回答:“屁股!”女教师哭着跑出教室,找校长告状:“孩子们嘲笑人。”校长走进教室,表情严肃地说:“你们怎么把老师气哭了?啊!还在黑板上画了个屁股!”

把苹果画成了屁股,还好意思哭,还好意思告状,了不起。一事当前,女人喜欢从别人身上找毛病,总是越想越委屈。常言说,人非圣贤,孰能无过?圣贤会有过错,女人不会有。她们永远正确,即使错了,也是一副对的姿态。

3、女儿告诉妈妈,因为妈妈反对她和男朋友恋爱,她的男朋友服安眠药自杀了。母亲一惊:“自杀啦?”女儿说:“还好,他吃错了药,没死。”母亲说:“我早就说过,他这个人马马虎虎,大大咧咧,成不了大事。你看,连这点小事都搞错,怎么能托付终身呢?”

不要指望女人认错,她们没有认错的习惯。错一千回,她们就有一千个理由为自己开脱。人命关天又怎样?正确的依然是她。

4、一个女人走进邮局,要了一张电报纸,写完后扔了。又要第二张,写完后又扔了。第三张写好后,她递给报务员,并嘱咐尽快发出。女人走后,报务员对这三份电报发生了兴趣。第一份上写着:一切都结束了,再也不想见到你。第二份上写着:别再打电话,休想再见到我。第三份的内容是:乘最近的一班火车速来,我等你。

如果前两封电报发出去,一切都结束了。可发出去的是第三封,终点又成了起点。邱吉尔说,世上有两件事最难对付,一是倒向这边的墙,一是倒向另一边的女人。假如女人真地倒向了另一边,干脆放手就是了。可有时候,她们摇摆不定。她说恨你时,也许心里已经有了你;她说不恨你时,也许已经不把你放在心上了。你没法把她的话当真。因为反复无常,跟她们打交道得凭运气。

5、一个金发碧眼的女人上了飞机,在头等舱坐下。空姐过来检票,告诉她:“您的机票是普通舱的,不能坐在这里。”女人说:“我是白种人,是美女,我要坐头等舱去洛杉矶。”空姐无可奈何,只好报告组长。组长对美女解释说:“很抱歉!您买的不是头等舱的票,所以只能坐到普通舱去。”“我是白种人,是美女,我要坐头等舱去洛杉矶。”美女仍然重复着那句话。组长没办法,又找来了机长。机长俯身对美女耳语了几句,美女立马站起身,大步向普通舱走去。空姐惊讶不已,忙问机长跟美女说了些什么。机长回答:“我告诉她头等舱不到洛杉矶。”

这样的智商还想坐头等舱,真是岂有此理!有人说,漂亮女人不读书。不读书,靠什么混呢?靠脸蛋。白种人、美女,凭这两条,就敢往头等舱里混,而且理直气壮。

6、一个漂亮的女推销员上门推销洗涤用品,获得巨大成功。有人向她讨教推销技巧,她眼里闪着亮光说:“很简单。我专捡夫妇两人都在家时去拜访,对那位丈夫说明来意,详细介绍产品的性能和特点。最后告诉他,不必马上买,可以等下次来时再说。这时,旁边的女主人往往表现出积极的态度,赶忙买下我的东西。”

也许你能找到不吃饭的女人,但绝对找不到不吃醋的女人。醋的滋养,使女人成精。也许她们没有太高的智慧,但有的是花招儿和心眼儿。

7、两个女人在街上相遇。甲说:“我收到一张法院的传票,说有件重要的案子要我明天出庭作证。”乙问:“你觉得紧张吗?”甲说:“非常紧张,我不知道穿什么衣服好。”

女人善于把大事变小,小到只剩下穿衣、化妆、男欢女爱之类的细节。男人读伟人传记,看的是政治斗争;女人读伟人传记,看的是后宫私情。男人把事业当生活,女人把生活当事业。时尚而体面的衣着是女人永恒的话题,她们从那里找到自信、满足和快乐。

8、女人有一儿一女,但她只给女儿买新衣,让儿子穿旧的。有人笑她偏心,她解释说:“外销的,要特别讲究包装。”

此人若从商,一定发财。婚姻交易也需要商业头脑,所以她的智慧并非没有用武之地。那天看电视,一个漂亮女人以一种玩世不恭的口吻对她的女伴儿说:“我们女人不就是男人的一件衣裳吗?”话说得不太好听,却也不无道理。其一,女人藏在衣裳里,她们离不开这种包装。其二,女人追求衣裳,男人追求女人。

9、一个女人把她的结婚证书装进档案袋里,然后不无幽默地写上四个字:长期饭票。

有一种流行的说法,叫做干得好不如嫁得好。嫁好是一条捷径,一切想要的东西“得来全不费工夫”。当然,你得有嫁好的资本。通常的情况是,女人用自己的青春和美貌去交换男人的财富和权力。仅仅交换到一张“长期饭票”的女人,一定不是美女。否则,她可以交换到一部自动提款机。

10、一个球迷兴致勃勃地对女朋友说:“踢足球就和搞对象一样,得有缠的功夫。假如一双脚能像牛皮糖一样粘在足球上,就成功了。”女朋友说:“然后呢,一脚踢开!”

女人没有安全感,总是担心被抛弃。为什么男人没有这种忧虑呢?因为男人的人格和生活是独立的。那么,女人为什么不能独立呢?为什么非要依附于别人呢?

2009年5月1日星期五

快速切换更改ip地址的方法

不用工具但要用建立bat批处理程序来处理..具体设置如下:
1.分别导出公司与家庭的网络配置,分别命名为net1.txt,net2.txt
netsh -c interface dump >c:\net1.txt
netsh -c interface dump >c:\net2.txt
2.建立导入不同网络配置的批处理程序..分别名为net1.bat,net2.bat.其具体内容分别为
net1.bat:
引用:
netsh -f c:\net1.txt
net2.bat:
引用:
netsh -f c:\net2.txt
当在公司时运行net1.bat,在家时运行net2.bat即可切换不同网络..

设置本地网卡,提高上网速度

设置本地网卡,提高上网速度
一、设置

请参照以下步骤设置:

“网上邻居”\“属性”\“本地连接”图标\“属性”\“常规”\“配置”\“高级”\“Link Speed & Duplex”\选中“100Mbps/Full Duplex”选项或“10Mbps/Full Duplex”选项\“确定”。

二、原理(没兴趣的可以不读以下内容)

在局域网中通过网络通道传输、交流共享文件,是一项常见的操作;按理来说,在目前的10MB、100MB传输环境中,传输容量不大的共享文件,应该要不了几秒钟就能完成;可事实上,我们在传输一些容量只有几个KB的共享内容时,有时要等上几分钟的时间,要是传输大容量文件时,那等待的时间可就更长了。虽然引起网络传输速度缓慢的原因有很多,可是仔细琢磨、总结之后,我们会发现网卡参数设置不当,特别容易导致网络传输速度缓慢;为此,当我们排除引起网络传输速度缓慢的各项可能因素后,仍然无法提高网络传输速度时,我们就应该将目光转向网卡设置方面,以便向网卡设置要速度!
目前的局域网使用的传输介质一般都是速率为100MB的双绞线,而工作站使用的网卡设备传输速度目前主要有10MB、100MB以及10/100MB自适应这几个标准;调查显示,现在的工作站中网卡设备大部分采用都是10Mbps/100Mbmps自适应标准,即传输速率在10MB和100MB之间自动匹配。当工作站使用这种网卡设备传输共享文件时,常常会遇到一个几MB容量的文件在网络中传输时,需要等待很长时间,很显然这种现象是不正常的。引起这种现象的主要原因,其实就是网卡每次传输内容时都需要耗费时间去动态决定使用什么标准的速度进行信息传输,这样一来就会降低网卡的工作效率。
我们知道,安装了10Mbps/100Mbmps自适应标准网卡设备的工作站,每次与目标工作站的网卡设备进行通信时,都需要经过协商选择两者都能接受的传输速率。要是目标工作站的网卡设备使用的是100MB标准,那么自适应网卡就要与目标网卡设备反复协商、交流,直到确定选用100MB速度进行通信为止;同样地要是目标工作站使用的网卡设备是10MB标准的,那么自适应网卡设备也会经过协商、交流的过程,来确定选用10MB速度来通信,这种协商、交流的过程可能需要反复多次,以保证网络信号能够稳定地进行传输。
由于若干次协商、交流,肯定会消耗一定的时间,这样一来我们就会感觉到网络传输速度不怎么快了。为了提高网络传输速度,我们可以根据对方网卡设备的通信速度,来采用手工方法固定本地自适应标准网卡设备的传输速度,确保它们之间互相通信时不要经过反复协商、交流的过程,而直接使用指定的速度进行快速交流。
例如,要是目标工作站使用了100M的网卡设备,那么要与该工作站进行快速通信时,我们就需要对本地工作站的网卡设备进行设置,强制本地网卡也采用100M速度进行工作;如果局域网中既有100M标准的网卡设备,也有10M标准的网卡设备,那么从稳定的角度出发,我们可以将本地自适应标准网卡设备的传输速度强行设置为10MB标准。

清除Windows登录密码方法

光盘的自动运行法
方法很简单,只需在光驱中放置一张带有自驱动并具有执行安装程序功能光盘,在程序安装到百分之一百的时候,弹出光盘,此时系统会出现"非法操作"的提示,只要在这时候按一下ESC键,然后在桌面底部出来的系统状态栏中点击"开始"-"注销"就可以轻松搞掂了.
清楚Windows登录密码
Windows操作系统可以设置登录密码,系统正常启动后首先进入登陆页面,需要输入正确地密码才能够登陆系统.然而很多方法可以绕过登录密码来进行登陆得,这虽然为忘记密码时候登陆提供可行的方法,也为非法进入者的登陆提供了机会.下面来看看哪些方法能够清楚Windows操作系统的登陆密码.
1.删除SAM文件清楚管理员密码
直接清楚用户口令文件的操作步骤如下:
step1 使用Windows2000或XP启动的修复功能,或者其他以引导进入DOS状态的光盘引导系统,并进入DOS状态.
step2 进入%root%\system32\config\目录(其中%root%指Windows主目录,一般是C盘的Windows目录),手动删除该目录下的SAM文件即刻.
step3 重新启动计算机,当系统再次进入windows的时候,不需要密码便可以管理员身份直接进入了.
2.利用系统输入法漏洞
当忘记系统密码时,这时无任何用户账号(包括管理员Administrator的账号)可以登录时,但在登陆是打开输入法,利用输入法工具条进入到输入法的帮助界面.
step1 在紫光输入法工具条上单击鼠标右键,单击"帮助"按钮.
step2 在打开的"联机帮助"对话框中,单击左上角的图标,选择"跳至URL".
step3 弹出:跳转URL"对话框中,在"跳至该URL(J):"方框中出入"C:"(假设系统在C盘)
step4 C盘呈现在"联机帮助"对话框中.此时我们已管理员的身份攻入系统,并可以任意运行程序,添加,修改文件,也很容易修改管理员密码了.

教您在XP建立“终极隐藏”文件

Windows XP中的这个方法不是右键改属性为隐藏,也不是进入DOS下修改属性。做起来不难,效果也非常有趣,谁也想不到,就在你电脑桌面上堂而皇之的藏有你的“机密文件”吧? 

1、在桌面建一个文件夹

2、右键,自定义图标为横向12排,纵向第2排的空白图标

3、这下图标隐形了

4、选择文件夹的名称,按下F2,点鼠标右键,选择插入unicode控制字符

电脑出现蓝屏的解释

使用Windows出现蓝色屏幕是经常的事,而且每每因为不清楚错误的来源而频繁重新安装系统,劳神费时。下列的一些Windows死机
代码,供大家参考。
0x0000 操作完成
0x0001 不正确的函数
0x0002 系统找不到指定的文件
0x0003 系统找不到指定的路径
0x0004 系统无法打开文件
0x0005 拒绝存取
0x0006 无效的代码
0x0007 内存控制模块已损坏
0x0008 内存空间不足,无法处理这个指令
0x0009 内存控制模块地址无效
0x000a 环境不正确
0x000b 尝试载入一个格式错误的程序
0x000c 存取码错误
0x000d 资料错误
0x000e 内存空间不够,无法完成这项*作
0x000f 系统找不到制定的硬盘
0x0010 无法移除目录
0x0011 系统无法将文件移到其他的硬盘
0x0012 没有任何文件
0x0019 找不到指定的扇区或磁道
0x001a 指定的磁盘或磁片无法存取
0x001b 磁盘找不到要求的扇区
0x001c 打印机没有纸
0x001d 系统无法将资料写入制定的磁盘
0x001e 系统无法读取指定的装置
0x001f 连接到系统的某个装置没有作用
0x0021 文件的一部分被锁定
0x0024 开启的分享文件数量太多
0x0026 到达文件结尾
0x0027 磁盘已满
0x0036 网络繁忙
0x003b 网络发生意外的错误
0x0043 网络名称找不到
0x0050 文件已经存在
0x0052 无法建立目录或文件
0x0053 int24失败
0x006b 因为代用的磁盘尚未插入,所以程序已经停止
0x006c 磁盘正在使用中或被锁定
0x006f 文件名太长
0x0070 硬盘空间不足
0x007f 找不到指定的程序
0x045b 系统正在关机
0x045c 无法种植系统关机,因为没有关机的动作在进行中
0x046a 可用服务器储存空间不足,无法处理这项指令
0x047e 指定的程序需要新的Windows版本
0x047f 指定的程序不是Windows或MS-DOS程序
0x0480 指定的程序已经启动,无法再启动一次
0x0481 指定的程序是为旧版的Windows所写的
0x0482 执行此应用程序所需的程序库文件之一毁坏
0x0483 没有应用程序与此项*作的指定文件建立关联
0x0484 传送指令到应用程序发生错误
0x04b0 指定的装置名称无效
0x05a2 窗口不是子窗口
0x05aa 系统资源不足,无法完成所要求的服务
0x05ab 系统子还不足,无法完成所需要的服务
0x05ac 系统资源不足,无法完成所要求的服务
0x06b9 资源不足,无法完成操作
希望大家看完能又点帮助呵呵~!!!

怎样恢复刚刚删除的文件(已经清空回收站)

找回误删并清除了回收站的文档
  
  步骤:
  
  1、单击“开始——运行,然后输入regedit (打开注册表)
  
  2、依次展开:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/ CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击“新建”
  
  ,选择:“主键”,把它命名为“645FFO40——5081——101B——9F08——00AA002F954E”
  
  再把右边的“默认”的主键的键值设为“回收站”,然后退出注册表。就OK啦。
  
  3、要重启你的计算机。
  
  只要你机器没有运行过磁盘整理。系统完好.任何时候的文件都可以找回来。

取消每次开机自检

当使用2K/XP系统非法关机和重启的时候,在再次启动的时候就会运行磁盘扫描程序,磁盘扫描程序会等待10秒钟给你取消。但是如果每次非法关机和重启都等上10秒,也挺烦人的。
可以用这个方法来永久关闭:
大家再运行处输入Regedit,进入注册表
然后找到下面的键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
再找到右边这个值:
BootExecute
把里面的数据全部删除,这样就可以彻底禁止非法关机和重启的时候运行磁盘扫描程序

简单修改 令迅雷下载速度比别人快4倍

简单修改 令迅雷下载速度比别人快4倍
迅雷有一个很特殊的本领:搜索可下载资源。当你启动迅雷进行下载时,它会一边下载,一边搜索可用的其它同名下载资源(这么强的功能,不知道迅雷官方为什么不宣传)。迅雷搜索可用的下载资源默认线程是5,如果我们将这个数值改大一些,比如改成20,也就意味着你比其他雷友多出四倍的下载资源!   
进入迅雷安装目录“X:\Program Files\Thunder\Program”(“X”为迅雷所在分区的盘符),找到“download.cfg”文件,然后用记事本打开该文件。 
打开“download.cfg”文件后,按下“Ctrl+F”组合键,在弹出的查找窗口中输入“[p2s]”,点击“确定”后即可找到字符串“[p2s]”。   
我们就是要在这个地方做做文章。在“[p2s]”这一行后“回车”,输入“thread_num=20”,意思就是将迅雷的默认搜索备用下载资源改为20。
提示:迅雷默认的搜索备用下载资源的最大线程数是60,所以你在输入的数值不能大于60。但是这里也不建议将这个数值修改的过大,这对你所在的网络带宽以及机器配置要求比较高,过高的数值对会给带宽和机器带来比较大的负荷。   
可能会有朋友问,为什么不用增加下载线程的方法,而用增加搜索备用下载资源的方法呢?我给你说一个简单的道理你吧,假设某服务器对每个连接的IP设定了最高连接数为5的通道(即下载线程),就算你将下载线程设置成20也是枉然,因为服务器上只给你开了5个通道。而搜索备用下载资源则不同了,当你在这个服务器上获得5个线程后,迅雷还会在其它服务器上搜索同名资源,一旦搜索到,迅雷就会同时在搜索到的服务器上开始下载。经过这么小小的修改,你的下载才会得到真实、有效的提速。

如何将FAT32分区转为NTFS分区

如何将FAT32分区转为NTFS分区?
其实一条简单的指令就可以实现不破坏硬盘数据把FAT32转为NTFS分区。
点击屏幕左下角“开始”,找到运行,在其中输入:cmd,确定,打开“命令提示符”;
在命令提示符下输入: convert X:/FS:NTFS(其中X是盘符)。
执行后,重新启动电脑,进入系统以后,在查看磁盘属性就已经是NTFS格式了。

我收集的笔记本处理器参数

[原创] 笔记本处理器参数大全
品牌 类型 型号 制程 L1 L2 主频 FSB 核心 虚拟化 超线程 节电 位数 防病毒 功耗
AMD Athlon 64 X2 TK-53 65nm 128KB 256KB*2 1700MHz 800MHz 2 64 31W
AMD Athlon 64 X2 TK-55 65nm 128KB 256KB*2 1800MHz 800MHz 2 64 31W
AMD Turion 64 MK-36 90nm 128KB 512KB 2000MHz 800MHz 1 64 31W
AMD Turion 64 MK-37 90nm 128KB 1MB 2000MHz 800MHz 1 64 31W
AMD Turion 64 MK-38 90nm 128KB 512KB 2200MHz 800MHz 1 64 31W
AMD Turion 64 MT-28 90nm 128kb 512KB 1600MHz 800mhz 1 64 25w
AMD Turion 64 MT-30 90nm 128kb 1MB 1600MHz 800mhz 1 64 25w
AMD Turion 64 MT-32 90nm 128kb 512KB 1800MHz 800mhz 1 64 25w
AMD Turion 64 MT-34 90nm 128kb 1MB 1800MHz 800mhz 1 64 25w
AMD Turion 64 MT-37 90nm 128kb 1MB 2000MHz 800mhz 1 64 25w
AMD Turion 64 MT-40 90nm 128kb 1MB 2200MHz 800mhz 1 64 25w
AMD Turion 64 X2 TL50 90nm 128KB*2 256KB*2 1600MHz 800MHz 2 64 31W
AMD Turion 64 X2 TL52 90nm 128KB*2 512KB*2 1600MHz 800MHz 2 64 31W
AMD Turion 64 X2 TL56 90nm 128KB*2 512KB*2 1800MHz 800MHz 2 64 33w(31w)
AMD Turion 64 X2 TL60 90nm 128KB*2 512KB*2 2000MHz 800MHz 2 64 35w(31w)
AMD Turion 64 X2 TL64 90nm 128KB*2 512KB*2 2200MHz 800MHz 2 64 35W
AMD Turion 64 X2 TL66 90nm 128KB*2 512KB*2 2300MHz 800MHz 2 64 35W
Intel CeleronM CM310 130nm 512KB 1200MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM320 130nm 512KB 1300MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM330 130nm 512KB 1400MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM333 130nm 128KB 900MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM340 130nm 512KB 1500MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM350 90nm 1MB 1300MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM350J 90nm 1MB 1300MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM353 90nm 512KB 900MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM360 90nm 1MB 1400MHz 400MHz 1 no no 否 32 no
Intel CeleronM CM360J 90nm 1MB 1400MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM370 90nm 1MB 1500MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM373 90nm 512KB 1000MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM380 90nm 1MB 1600MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM383 90nm 1MB 1000MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM390 90nm 1MB 1700MHz 400MHz 1 no no 否 32 yes
Intel CeleronM CM410 65nm 1MB 1460MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM420 65nm 1MB 1600MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM423 65nm 1MB 1060MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM430 65nm 1MB 1730MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM440 65nm 1MB 1860MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM443 65nm 1MB 1200MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM450 65nm 1MB 2000MHz 533MHz 1 no no 否 32 yes
Intel CeleronM CM520 45nm 512KB*2 1600MHz 533MHz 2 否 64
Intel CeleronM CM520 65nm 1MB 1600MHz 533MHz 1 no no 否 64 yes
Intel CeleronM CM530 45nm 512KB*2 1730MHz 533MHz 2 否 64
Intel CeleronM CM540 45nm 512KB*2 1860MHz 533MHz 2 否 64
Intel CeleronM CM550 45nm 512KB*2 2000MHz 533MHz 2 否 64
Intel Core 2 Duo L7400 65nm 4MB 1500MHz 667MHz 2 yes no 是 64 yes
Intel Core 2 Duo P8400 45nm 1.5MB*2 2260MHz 1066MHz 2 是 64 25W
Intel Core 2 Duo P8600 45nm 1.5MB*2 2400MHz 1066MHz 2 是 64 25W
Intel Core 2 Duo P9500 45nm 3MB*2 2530MHz 1066MHz 2 是 64 25W
Intel Core 2 Duo T5200 65nm 1MB*2 1600MHz 533MHz 2 no no 是 32 yes
Intel Core 2 Duo T5250 65nm 1MB*2 1500MHz 667MHz 2 是 64
Intel Core 2 Duo T5270 65nm 1MB*2 1400MHz 800MHz 2 是 64
Intel Core 2 Duo T5300 65nm 1MB*2 1730MHz 533MHz 2 no no 是 64 yes
Intel Core 2 Duo T5450 65nm 1MB*2 1660MHz 667MHz 2 是 64
Intel Core 2 Duo T5470 65nm 1MB*2 1600MHz 800MHz 2 是 64
Intel Core 2 Duo T5500 65nm 1MB*2 1660MHz 667MHz 2 no no 是 64 yes
Intel Core 2 Duo T5550 65nm 1MB*2 1830MHz 667MHz 2 是 64
Intel Core 2 Duo T5600 65nm 1MB*2 1830MHz 667MHz 2 yes no 是 32 yes
Intel Core 2 Duo T5750 65nm 1MB*2 2000MHz 667MHz 2 是 64
Intel Core 2 Duo T7100 65nm 1MB*2 1800MHz 800MHz 2 是 64
Intel Core 2 Duo T7200 65nm 2MB*2 2000MHz 667MHz 2 yes no 是 64 yes
Intel Core 2 Duo T7250 65nm 1MB*2 2000MHz 800MHz 2 是 64
Intel Core 2 Duo T7300 65nm 2MB*2 2000MHz 800MHz 2 是 64
Intel Core 2 Duo T7400 65nm 2MB*2 2160MHz 667MHz 2 yes no 是 64 yes
Intel Core 2 Duo T7500 65nm 2MB*2 2200MHz 800MHz 2 是 64
Intel Core 2 Duo T7600 65nm 2MB*2 2330MHz 667MHz 2 yes no 是 64 yes
Intel Core 2 Duo T7700 65nm 2MB*2 2400MHz 800MHz 2 是 64
Intel Core 2 Duo T7800 65nm 2MB*2 2600MHz 800MHz 2 是 64
Intel Core 2 Duo T8100 45nm 1.5MB*2 2100MHz 800MHz 2 是 64
Intel Core 2 Duo T8300 45nm 1.5MB*2 2400MHz 800MHz 2 是 64
Intel Core 2 Duo T9300 45nm 3MB*2 2500MHz 800MHz 2 是 64
Intel Core 2 Duo T9400 45nm 3MB*2 2530MHz 1066MHz 2 是 64 35W
Intel Core 2 Duo T9500 45nm 3MB*2 2600MHz 800MHz 2 是 64
Intel Core 2 Duo T9600 45nm 3MB*2 2800MHz 1066MHz 2 是 64 35W
Intel Core 2 Extreme X7900 45nm 2MB*2 2800MHz 800MHz 2 是 64
Intel Core 2 Extreme X9000 45nm 3MB*2 2800MHz 800MHz 2 是 64
Intel Core Duo L2300 65nm 2MB 1500MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo L2400 65nm 2MB 1660MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo L2500 65nm 2MB 1830MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo L7200 65nm 4MB 1330MHz 667MHz 2 yes no 是 64 yes
Intel Core Duo T2050 45nm 1MB*2 1600MHz 533MHz 2 是 32
Intel Core Duo T2150 45nm 1MB*2 1600MHz 533MHz 2 是 32
Intel Core Duo T2250 65nm 2MB 1730MHz 533MHz 2 no no 是 32 yes
Intel Core Duo T2250 45nm 1MB*2 1730MHz 533MHz 2 是 32
Intel Core Duo T2300 65nm 2MB 1660MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo T2300 45nm 1MB*2 1660MHz 667MHz 2 是 32
Intel Core Duo T2300E 65nm 2MB 1660MHz 667MHz 2 no no 是 32 yes
Intel Core Duo T2350 65nm 2MB 1860MHz 533MHz 2 no no 是 32 yes
Intel Core Duo T2350 65nm 2MB 1860MHz 533MHz 2 no no 是 32 yes
Intel Core Duo T2350 45nm 1MB*2 1860MHz 533MHz 2 是 32
Intel Core Duo T2400 65nm 2MB 1830MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo T2400 45nm 1MB*2 1830MHz 667MHz 2 是 32
Intel Core Duo T2450 65nm 2MB 2000MHz 533MHz 2 yes no 是 32 yes
Intel Core Duo T2450 45nm 1MB*2 2000MHz 533MHz 2 是 32
Intel Core Duo T2500 65nm 2mb 2000MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo T2500 45nm 1MB*2 2000MHz 667MHz 2 是 32
Intel Core Duo T2600 65nm 1MB*2 2160MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo T2600 45nm 1MB*2 2160MHz 667MHz 2 是 32
Intel Core Duo T2700 65nm 1MB*2 2330MHz 667MHz 2 yes no 是 32 yes
Intel Core Duo T2700 45nm 1MB*2 2330MHz 667MHz 2 是 32
Intel Core Duo U2400 65nm 2MB 1060MHz 533MHz 2 yes no 是 32 yes
Intel Core Duo U2500 65nm 2MB 1200MHz 533MHz 2 yes no 是 32 yes
Intel PentiumM PM705 130nm 1MB 1500MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM710 90nm 2MB 1400MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM713 130nm 1MB 1100MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM715 90nm 2MB 1500MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM718 130nm 1MB 1300MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM723 90nm 2MB 1000MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM725 90nm 2MB 1600MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM725A 90nm 2MB 1600MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM730 90nm 2MB 1600MHz 533MHz 1 no no 是 32 yes
Intel PentiumM PM733 90nm 2MB 1100MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM733J 90nm 2MB 1100MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM735 90nm 2MB 1700MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM735A 90nm 2MB 1700MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM738 90nm 2MB 1400MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM740 90nm 2MB 1730MHz 533MHz 1 no no 是 32 yes
Intel PentiumM PM745 90nm 2MB 1800MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM745A 90nm 2MB 1800MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM750 90nm 2MB 1860MHz 533MHz 1 no no 是 32 yes
Intel PentiumM PM753 90nm 2MB 1200MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM755 90nm 2MB 2000MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM758 90nm 2MB 1500MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM760 90nm 2MB 2000MHz 533MHz 1 no no 是 32 yes
Intel PentiumM PM765 90nm 2MB 2100MHz 400MHz 1 no no 是 32 no
Intel PentiumM PM770 90nm 2MB 2130MHz 533MHz 1 no no 是 32 yes
Intel PentiumM PM778 90nm 2MB 1600MHz 400MHz 1 no no 是 32 yes
Intel PentiumM PM780 90nm 2MB 2260MHz 533MHz 1 no no 是 32 yes
Intel PentiumM T1300 65nm 2MB 1660MHz 667MHz 1 no no 是 32 yes
Intel PentiumM T1350 65nm 2MB 1860MHz 533MHz 1 no no 是 32 yes
Intel PentiumM T1400 65nm 2MB 1830MHz 667MHz 1 no no 是 32 yes
Intel PentiumM T2060 65nm 1MB 1600MHz 533MHz 2 no no 是 32 yes
Intel PentiumM T2080 65nm 1MB 1730MHz 533MHz 2 no no 是 32 yes
Intel PentiumM T2130 65nm 1MB 1800MHz 533MHz 2 no no 是 32 yes
Intel PentiumM U1300 65nm 2MB 1060MHz 533MHz 1 yes no 是 32 yes
Intel PentiumM U1400 65nm 2MB 1200MHz 533MHz 1 yes no 是 32 yes
Intel PentiumM U1500 65nm 2MB 1330MHz 533MHz 1 yes no 是 32 yes
Intel Pentium Dual-Core T2060 45nm 512KB*2 1600MHz 533MHz 2 是 32
Intel Pentium Dual-Core T2080 45nm 512KB*2 1730MHz 533MHz 2 是 32
Intel Pentium Dual-Core T2130 45nm 512KB*2 1860MHz 533MHz 2 是 32
Intel Pentium Dual-Core T2310 45nm 512KB*2 1460MHz 533MHz 2 是 64
Intel Pentium Dual-Core T2330 45nm 512KB*2 1600MHz 533MHz 2 是 64
Intel Pentium Dual-Core T2370 45nm 512KB*2 1730MHz 533MHz 2 是 64
Intel Pentium Dual-Core T2390 45nm 512KB*2 1860MHz 533MHz 2 是 64
Intel Celeron Dual-Core T1400 45nm 512KB*2 1730MHz 533MHz 2 是

很好的装机经验

你要是想买电脑第一件事就是结合有限预算,问问自己的需求: 1)你超频么?超与不超配起来可大不相同。这几天看到很多人配机上的是P43插威刚红龙800+,看似很不错,这其实很不合理。首先P43主板虽然是新产品,但定位较低。Intel总是爱通过限制低端产品的性能来划分产品线,所以P43同样设置了很多限制,其中最重要就是它限制超频的外频墙,很多体质不错的U和条并不能在P43主板上发挥自身的潜力,造成了浪费。而貌似更老旧的P35在超频性能上其实定位高端,完全可以超越P43,就更别说P45了。而像红龙800+这样的超频条要比普条贵不少,配上影响超频发挥的P43芯片组主板,显然有些定位不清,搭错线了。但不排除想小超、而更注重P43更新的规格和更合理的市场价位的某些普通用户,愿意这样的搭配。 目前来看,AU普遍超频性能不如IU,包括黑盒产品。但往往普通应用,A平台造价会更便宜,而且3A平台对自家显卡的支持要优于N卡。所以如果是普通应用,尤其是底端平台,3A配置是真正的性价比之选!而你想一尝超频的乐趣的话,I平台才是你的理想选择。 板上钉钉:IU目前更适合超频;不超频3A平台在中低端不论性能还是价格,都很有优势。 2)用途?例如:办公、学习、游戏、还是专业制图?平面图还是3D制作?对游戏有多大的要求?这些差别配起来都是区别很大的。以配备显卡为例,一般的应用甚至连独显都没必要;游戏也分是否爱玩划时代的*游戏还是一般的主流游戏;作图也分平面或3D,一般平面甚至集显就够用了,而专业3D制图那是要配备天价的专业卡才能得到满意的效率的。这些情况下,所配显卡都是有很大差别的。 板上钉钉:找到最适合自己用途的配置比某些高手的全能配置更实用。 3)预算。其实说到预算,很多人把省钱和性价比划了等号,这也不对。很多时候不一定花钱少就是买了性价比产品,多花钱就是没有性价比。这要看你的用途是否可以基本满足的情况下,花了较少的钱。如果几千块钱的整机,为了节省几百块零头,而让整机效能大打折扣的话,那你省得钱就得不偿失了! 板上钉钉:省钱不等于性价比。 4)攒机是性能最重要么?起码我不赞同。个人更注重稳定、舒适、节能、美观、保值、健康,所以我会把重点放在电源、显示器、外设、机箱这样的配件上,核心只要够用就可以了,越高端贬值越快,为啥呢?听说Intel有个摩尔定律,说核心配件的性能,(主要是U和卡,卡最明显)同样价位18个月性能就可以翻2到3倍。高端配件几个月就可以掉价上千一点不新鲜,就是说现在花再多钱买再高端,过不去两三年,就变低端甚至面临淘汰了。而你把核心配件几个月掉下来的钱如果投资给了电源、显示器、外设、机箱这样的配件。数年后,这些配件还可以给你如新的一般稳定、舒适、节能、美观、健康,甚至很可能仍旧是高端的享受和保值效果!所以,与其大把大把钞票给核心配件打了水漂,不如给这些实实在在的地方多投些钱吧。 板上钉钉:你可以不在乎保值、美观、节能甚至舒适和健康,但稳定永远比性能更重要。 5)一分钱一分货没错吧?还有很多人以为配件越贵性能越好,这也不正确。举个例子,同样是搭配HD3850,5000+和E72两台机子,不告诉使用者来玩同一款游戏,再高手的老鸟也不可能单凭感觉就能分辨出400和800块俩个U之间的区别。那为啥E72比5000+贵出一倍?那是因为E72作为更高端的U,它能够带起来更高端的显卡例如88GT,而5000+这时会成为瓶颈,从而拖累高端显卡。但是你预算里只能买HD3850显卡的时候,5000+和E72对你玩游戏这项用途而言,都是一样的。 板上钉钉:多花钱很多时候不一定有效果。 6)IU比AU快?说实话,现在唯一能确定的是IU从酷睿架构上市以后,其超频能力确实很出色。而在同价位、不超频的时候,虽然也有很大争议,但很多评测显示AU往往性能更强。 热衷于超频的兄弟,建议买一个功耗测定器,看看自己的U在超频后功耗增长了多少吧。看看自己在电费上多花的银子与超频后得到的性能提升,哪个更划算。现在电费是0.5元/度,各地可能会有点差异。 真正公认的是:IU酷睿架构超频能力要比AU强,尤其是AMD三核四核K10羿龙,超频能力实在不敢恭维。但是A整合平台的优势现在是越来越明显了,自从收购了独立显卡界的二把手ATI,A芯片组整合板的集显性能就越来越强。到了现在,不论I还是N,整合板性能都无法和A相提并论了。这也成了奠定A平台市场占有率的又一个重要砝码。 板上钉钉:同价位,不超频,俩家U真的差不多。整合平台建议选A。说实话,对于现在装机的绝大多数人,只要你能买到的新CPU,都足够你用的 7)紧跟着要问的就是N卡比A卡快吧?也是唯一可以确定的是,N卡在驱动和THE WAY计划跟很多游戏大厂的合作上确实做得比A要强。但是不要忘了,游戏厂商也只不过是在游戏刚上市的时候就能完美支持N卡,而把很多兼容问题在研发阶段就解决了而已。往往后期A卡催化剂的更新带来的性能提升效果要比N卡更明显也是这个原因。而游戏厂商的不断发布补丁程序也是在不断完善自家游戏对市面上所有玩家的电脑的兼容性。游戏厂商真的会为了THE WAY而去让自己辛苦研发的游戏大作放弃A卡所有的用户玩家么?呵呵,你见过跟钱有仇的商人么? 况且,现在支持A卡的游戏大厂也不在少数了,暴雪这样的业界领军都开始与A合作了。至于GPGPU通用计算和物理加速,可不是N的独家专利呀,A现在也有自己的计划。所以说,玩游戏到底谁好,其实真的是个很无聊的话题。 板上钉钉:厂商支持、通用计算、物理引擎,N和A都是有的。这些附加值在时间和数量上N目前更占优势;但在价格和亲民上,A卡做得更好。各有千秋吧。 8)那么品牌就没必要在意了吧?现在I、A、N基本上统领了CPU、主板芯片组、显卡芯片组这三个最重要的核心配件领域,真可谓各有千秋,互有长短。如果只是一般应用,真的没有太大必要过于挑剔。但是其下的很多板卡制造厂商,品牌之间的总体实力和产品定位还是有很大区别的。这个各大论坛精华区都有相关文章可以参考学习,最好还是做一些了解。 板上钉钉:品牌不能决定其下所有产品的质量和性能;但了解品牌背景和口碑会对你选购硬件更有指导意义。 9)键鼠有必要花很多钱么?这个争议也不小,说法众多。可以肯定的是大厂产品经验丰富,质量过硬,售后完善,大多是3年免费质保。无论舒适度、性能还是做工质量,多花些钱还是值得的。毕竟跟你每天零距离接触的就是键鼠,他俩使舒服了,那才是真正的享受!我抽屉里有一堆使坏的鼠标,扔掉的键盘也不少了,全是便宜货,其实也没帮我省多少钱,还找了很多麻烦。 板上钉钉:舒适、高效、美观、耐用、质保长,中高端键鼠只在买时多花些钱,别买太便宜的键鼠。 10)电源的优劣直接影响到整机的性能发挥、安全稳定、节能降噪甚至是寿命长短!可谓重中之重,在哪省也别在这要命的地方省钱!个人建议配机一定要把电源的预算给足到位,这相当于给你所有的配件都上了份人身保险。如果更在意节能省电,80PLUS认证产品虽然贵些,但常年使用,其实是省钱!相关文章也是随处可见,不再废话。 板上钉钉:重视电源就是爱护你的所有配件。 11)显示器的重要性不用多说了吧。笨重费电占地方的CRT大脑袋已经快被越来越便宜的LCD取代了。但还是奉劝专业人士选购CRT来制图,因为LCD现在主流价位的TN屏效果虽然大有改进,但还是和CRT没法相提并论。还有个争议是说LCD对视力有好处:要说辐射小,还是很合理的,这和两者不同的工作原理有关。但只要是和CRT保持一定的正常距离,CRT正面屏幕释放的辐射几乎对人不会造成危害了。虽然有少量辐射,但这并不代表LCD对视力真的就比CRT好,那要看显示器的亮度和对比度,跟是否辐射没关系。通常情况下,越亮的光源对人眼的刺激也就越大。当然,这其实是个常识问题而非专业知识。就好比大家在炎热的夏日抬头看太阳,几秒钟已经受不了了,感觉很是刺眼。同理,适当调低显示器的亮度和对比度,更加柔和的显示画面和更正常的最亮区域,虽然有可能会损失部分刺激的视觉感受,但这样对每个人的眼睛都更健康。当然,如果有条件能够买到广视角面板的专业LCD,那就可以两全其美了。 板上钉钉:了解更多显示器知识,合理选购和应用显示器,不但能提高工作质量,还能保护视力和身体健康。 12)主板一定要全固态、全封闭加热管么?固态电容确实比液态电容更结实耐用,但通常所说爆浆几乎都发生在CPU供电部分。所以正常使用,只要CPU供电使用了固态电容就可以了,不必强求全固态。电感当然也是封闭更好了,这样可以有效防止其他部件对电感的电磁干扰,进而影响到CPU电压的精度和超频能力。热管也是争议比较大的地方,很多人感觉它只不过是华而不实的装饰品而已。固态电容、封闭式电感、热管散热正在被越来越多的主板采用,实际作用确实也要好一些。但是并不代表电解电容、开放电感、非热管散热的主板就不能正常使用,如果并不是长时间开机或超频,对这些更新的技术就不一定苛求了,而且往往这样的选择会为你省下更多的预算。通常选择AU的用户都是看中了A平台的性价比而非超频能力,所以此时没大必要多花钱强求全固态、全封闭、热管散热了。 板上钉钉:那些偶尔开机,玩玩游戏上上网也不超频的用户,只要选择非杂牌、普通、更便宜的主板就足够了。 13)高端配件可以坚持更长的使用时间,多花钱也值!这总没错吧?如果你知道上面提到的Intel的摩尔定律,也就是“电脑核心配件每18个月,性能就可以翻2到3倍。”那你真的要好好掂量这个说法了。好比现在的5000+、E72、Q66,三款U价格基本上是1:2:3的400、800、1200元上下。如果说价格越高,肯定坚持的时间越长,这话一定点儿错也没有。四核Q自然生命力会更顽强,再加上以后支持多核的程序和软件越来越多,Q到时肯定要占大便宜的。不过你现在软件和应用来看,400块的U足以应付日常所需了,这会暂时为你省下800块钱。而到了这U使着吃力时,即便这只过了一两年,参照Intel的摩尔定律,上次装机省下的那相当于现在E72的800块钱,你可以买到相当于E72性能2到3倍的U,按照形势来看很可能性能已经超越现在的顶级QX系列,甚至是6核8核更新制成更低功耗的产品。这样算下来,花同样的价钱,所达到的效果就远非Q66可以相提并论的了。即便再次只花400块买U,现在5000+翻2到3倍,也同样超过Q66接近QX的水平了,而且仍旧比一次性投资1200元省下了400块。熟悉硬件历史的老鸟们来说说,核心配件甚至包括显示器,哪个不是这道理?那有人说:“Intel那摩尔定律说得有些夸张了,不一定就准确。”哦,那也一样呀。软硬件都是同步的,既然没那快的更新速度,那低端配件同样还可以坚持更长时间,还不是一回事?在硬件更新换代如此迅猛的时代,想买电脑一步到位,根本不可能。很多老鸟甚至提醒:“预留升级空间,其实用处都不大。”因为等你感觉现在的配置不够用时,很可能硬件接口又换代了,再去买过时接口的配件,继续增加更多的投资来将就老爷机,就杯水车薪,得不偿失了。而以软件的发展趋势来看,一淘汰就是淘汰一整个时代的配件,而并非只有低端产品,高端也不过五十步笑百步、同样难逃劫难。不过,并非把电脑当成工具而是玩具的DIYer们,预留部分升级空间,争取用同一个平台,来把玩、尝鲜、试验尽量多的硬件产品,那也是正常的。科技的发展早已不是阶梯式的前进,而是跳跃乃至飞跃式的突飞猛进啦!现在省下的追求高配的钱,到不够用时,能为你换来一台技术更先进、功耗比更合理、性能更强劲,现在几乎不敢想象的“超级计算机”!多花钱,追高配,对一般用户来讲,你现在感觉有意义么?!以上只是针对大部份家用普通用户而言。 当然,你现在的工作、学习、娱乐、YY等需求就是非高配不能满足,那自然就另当别论了。 最后,就目前市场,推荐个搭配方案,个人意见 仅供参考哦: 不超频, AMD最好3A:5000+/399的770/599、499的HD3850 5000+/780G是真正的性价比(极品飞车10也能跑了) Intel:E52/499左右P43/599、499的96GSO、HD3850 超频,ITNEL平台优势能大一些, Intel:E52或E72/P35或P45/599、499的96GSO、HD3850或千元HD4850 个人偏好具体品牌,仅供交流参考: 主板,超频:技嘉、微星、映泰(多项超频世界纪录)、捷波悍马(A平台很出色)、斯巴达克黑潮、梅捷(有争议,但听说黑板是DFI代工,还用说啥) 不超:富士康、精英、以上所有 显卡, N卡:索泰(背景雄厚)、耕升(背景雄厚,5年保)、映众(老实干净)A卡:蓝宝(老大)、迪兰(核心)、耕升 内存: 金邦,威刚,宇瞻 硬盘:WD西数YS企业级——抗造还便宜 LCD:AOC、优派、DELL,长城 三年全免费质保 电源:海韵(静)、康舒、海盗船(猛)、ANTEC,便宜就上航嘉、长城吧,起码算内地龙头,用得住 机箱:个人建议航嘉、酷冷200+的作为起步。想YY就上Tt、NZXT、银欣这样的烧箱。 PS: 从网上找到的 个人认为是很好的装机经验了 分享一下 大家看看吧 毕竟每个人观点不同 如果觉得好就顶一下 !!