博文

清除笔记本电脑密码的几个办法(2007-10-23 00:25:00)

摘要:对于笔记本电脑,最好不要轻易设置密码,因为笔记本电脑的开机密码并不是像PC机那样存放在CMOS电路中可以通过放电清除的,目前较新的笔记本都是将密码保存在主板的几块逻辑电路中,我们个人是无法破解的(此系列电脑,密码可加至三层,每一层都针对不同的设备加密,如果设置的密码丢失的话,呵呵......电脑可就是摆设了),要破解的话就得换,可能得花不少钱。

  但是对于型号较老的笔记本电脑,你可以试试下面的方法,也许可以解除笔记本的开机密码:一是改变机器的硬件配置,比如把硬盘取下来,再重新启动有可能会自动进入Setup程序,并清除开机密码。二是可以试试在主板上找一个芯片,这个芯片俗称818芯片,一般是“MC146818”有24个引脚,短接第12脚和第24脚1秒钟,或者找一个标有“MC14069”的芯片,把其第14脚对地短接一下,也许可以达到清除密码的目的。

  对于东芝笔记本电脑,如果你忘记了你的口令,可以使用口令服务软盘来解决(口令服务软盘在你每次设置或修改开机口令时生成,请妥善保存)。具体步骤如下:在驱动器中插入口令服务软盘。按下Enter,出现下列消息:SetPassAgain?(Y/N),按Y运行TSETUP程序,设置新口令。按N重新启动电脑。

  注意:口令服务软盘必须被插入驱动器中,否则显示将返回到Password=。如果已经在驱动器中插入了软盘,该消息仍然出现,口令服务软盘可能有问题。此外在使用口令服务软盘时要注意以下两个问题:如果BIOS引导优先级设置为硬盘或光驱,按复位按钮,保持F键按下以确保从软盘驱动器引导。如果电脑处在恢复方式,打开电源时口令服务软盘将不起作用。这时,也请先按复位按钮。

  对于型号较老的东芝笔记本电脑,其BIOS口令保护存在一个“后门”。你可以试试下面介绍的办法,也许能绕过东芝笔记本BIOS口令限制,而无需输入任何密码认证。准备好一张格式化好的空软盘,另外一台计算机,一种二进制编辑软件(比如NortonDiskEdit或者UtralEdit32等)。具体的步骤如下:

  启动另一台电脑,打开二进制编辑器,将软盘插入驱动器,修改软盘第一扇区的前5个字节,使其变成:4B45590000,注意引导扇区是第0扇区,不要改错了。然后保存修改,你现在就有了一张钥匙盘了。将这张软盘插......

阅读全文(7147) | 评论:1

笔试、面试经验谈(2007-10-05 09:57:00)

摘要:一、简历篇:
    1、准备工作:个人简历最好针对不同的公司和职位写不同的简历,不要写一份简历作为“万能简历”使用。在你写简历之前,需要对你所申请的职位有个清楚的了解,包括它对技能的要求、对工作经验的要求(对于要求工作经验的,如果你没有相关经验而且不是特别牛的话,就不要投简历了)以及工作地点的要求,另外对于这个工作的内容和性质要有清晰的认识。     我举一个比较失败的例子,就是我参加花旗的面试。花旗那天是和大连软件园组团过来的,因为之前我没有认真看过招聘的信息,所以简历上没有填职位,到了现场我才匆匆用笔填了两个,一个是Java Software Engineering,另一个是 Mainframe Department Software Engineering,我把简历投上去的时候,面试官第一个问题就问我,知道Mainframe Department 是什么么?我当时支支吾吾回答说是主框架部门。他说错了,这是IBM的一个项目名称,他又问我知道这个职位是做什么的么?我说不太清楚,他就开始不太耐烦了,他说你对这个职位都不太了解,都不知道它是干什么的,就敢填这个职位。我当时一下子心里就没底了,赶忙说我还填了一个Java软件工程师,这个时候面试官才放过我,但是第一印象就非常不好了,当然这次的面试也是失败的。     2、内容:针对不同的公司和不同的职位要求,简历的内容的安排也要有所变化。比如华为、慧通的软件研发职位需要会计算机底层编程的经验,而我刚好有相关的开发经历,所以我就把这部分内容放在了简历比较靠前的位置。一般来说,你简历中比较靠前或比较显眼的部分,是你最想给对方知道的内容,这也是面试的时候,对方会问的比较多的地方。另外一点,写简历的时候,内容要有条理性,一般第一部分是个人的基本信息(联系方式不需要写许多,写手机和 Email就可以了,七大姑八大姨的联系方式就不要写了),紧接着就是你申请的职位,第三部分是教育经历,第四部分以后可以根据不同情况,安排顺序不同。比如我面试北京软通动力的时候(软通动力做Java外包的,如果有工作经验的话,能有较大优势),考虑到我有一些工作经验,我就把这部分放到第四部分写,而把我的计算机技能放到第五部分;但像金......

阅读全文(8099) | 评论:1

C语言高效编程的几招(2007-10-03 14:05:00)

摘要: 引 言:
  编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 第1招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。


  例如:字符串的赋值。
方法A,通常的办法:
#define LEN 32
char string1 [LEN];
memset (string1,0,LEN);
strcpy (string1,“This is a example!!”);
方法B:
const char string2[LEN] =“This is a example!”;
char * cp;
cp = string2 ;
(使用的时候可以直接用指针来操作。)   从上面的例子可以看出,A和B的效率是不能比的。在同样的存储空间下,B直接使用指针就可以操作了,而A需要调用两个字符函数才能完成。B的缺点在于灵活性没有A好。在需要频繁更改一个字符串内容的时候,A具有更好的灵活性;如果采用方法B,则需要预存许多字符串,虽然占用了大量的内存,但是获得了程序执行的高效率。   如果系统的实时性要求很高,内存还有一些,那我推荐你使用该招数。  该招数的变招——使用宏函数而不是函数。举例如下:
方法C:
#define bwMCDR2_ADDRESS 4
#define bsMCDR2_ADDRESS 17
int BIT_MASK(int __bf)
{
return ((1U << (bw ## __bf)) - 1) << (bs ## __bf);
}
void SET_BITS(int __dst, int __bf, int __val)
{
__ds......

阅读全文(3331) | 评论:2

如何优化C语言代码(2007-10-03 13:59:00)

摘要: 如何优化C语言代码(程序员必读)

1、选择合适的算法和数据结构
应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有
很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找
法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大
提高程序执行的效率。.选择一种合适的数据结构也很重要,比如你在一堆随机存
放的数中使用了大量的插入和删除指令,那使用链表要快得多。
数组与指针语句具有十分密码的关系,一般来说,指针比较灵活简洁,而数组则比
较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,
执行效率更高。但是在Keil中则相反,使用数组比使用的指针生成的代码更短。。


3、使用尽量小的数据类型
能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用
整型变量定义的变量就不要用长整型(long int),能不使用浮点型(float)变量就
不要使用浮点型变量。当然,在定义变量后不要超过变量的作用范围,如果超过变
量的范围赋值,C编译器并不报错,但程序运行结果却错了,而且这样的错误很难
发现。
在ICCAVR中,可以在Options中设定使用printf参数,尽量使用基本型参数(%c、
%d、%x、%X、%u和%s格式说明符),少用长整型参数(%ld、%lu、%lx和%lX格式说明
符),至于浮点型的参数(%f)则尽量不要使用,其它C编译器也一样。在其它条件不
变的情况下,使用%f参数,会使生成的代码的数量增加很多,执行速度降低。

4、使用自加、自减指令
通常使用自加、自减指令和复合赋值表达式(如a-=1及a+=1等)都能够生成高质量的
程序代码,编译器通常都能够生成inc和dec之类的指令,而使用a=a+1或a=a-1之类
的指令,有很多C编译器都会生成二到三个字节的指令。在AVR单片适用的ICCAVR、
GCCAVR、IAR等C编译器以上几种书写方式生成的代码是一样的,也能够生成高质量
的i......

阅读全文(7339) | 评论:0

Visual C++ 5.0中的多线程编程技术(2007-10-03 13:53:00)

摘要:Visual C++ 5.0中的多线程编程技术

  一、引言

  Windows系统平台经历了从16位到32位的转变后,系统运行方式和任务管理方式有了很大的变化,在Windows 95和Windows NT中,每个Win32程序在独立的进程空间上运行,32位地址空间使我们从16位段式结构的64K段限制中摆脱出来,逻辑上达到了4G的线性地址空间。这样,我们在设计程序时就不再需要考虑编译的段模式,同时还提高了大程序的运行效率。独立进程空间的另一个更大的优越性是大大提高了系统的稳定性,一个应用程序的异常错误不会影响其它的应用程序,这对于现在的桌面环境尤为重要。

  在Windows的一个进程内,包含一个或多个线程。线程是指进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。一个进程内的所有线程使用同一个32位地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完任务后再执行。在多处理器的机器上,调度程序可将多个线程放到不同的处理器上去运行,这样就可使处理器的任务平衡,也提高了系统的运行效率。

  32位Windows环境下的Win32 API提供了多线程应用程序开发所需要的接口函数,但Win16和Win32对多线程应用并不支持,利用Visual C++ 5.0中提供的标准C库也可以开发多线程应用程序,而相应的MFC4.21类库则封装了多线程编程的类,因而用户在开发时可根据应用程序的需要和特点选择相应的工具。

  如果用户的应用程序需要有多个任务同时进行相应的处理,则使用多线程是较理想的选择。例如,就网络文件服务功能的应用程序而言,若采用单线程编程方法,则需要循环检查网络的连接、磁盘驱动器的状况,并在适当的时候显示这些数据,必须等到一遍查询后才能刷新数据的显示。对使用者来说,延迟可能很长。而在应用多线程的情况下可将这些任务分给多个线程,一个线程负责检查网络,另一个线程管理磁盘驱动器,还有一个线程负责显示数据,三个线程结合起来共同完成文件服务,使用者也可以及时看到网络的变化。多线程应用范围很广,尤其是在目前的桌面平台上,......

阅读全文(3191) | 评论:0

五子棋(人机对下)(2007-10-02 21:22:00)

摘要:/***************************************************************************************\ modify at 2006.3.28 编译器:MYTC \***************************************************************************************/ #include #include #include #include #include #include #include #define MAX 15 #define OFFSET 8 /* 14*14=196>OFFSET; int id; struct LIST *newlist=malloc(sizeof(*newlist)); if(!newlist) return 1; while(tmp) { id=(tmp->id)>>OFFSET; if(idatemp) { temp=&(tmp->next); tmp=tmp->next; } } newlist->id=add; newlist->next=tmp; *temp=newlist; return 0; } /*函数获得指定链中最大优先级的值 */ static int GetMax(struct LIST *List) { if(List) return (List->id>>OFFSET); return 0; } static int GetLast(struct LIST **List) /*函数获得指定链中的链首数据 */ { if(*List) { int ret; struct LIST *temp; ret=((*List)->id& 0xff); /* 取低字节棋盘位置数据 , 0xff与OFFSET位数一致 */ temp=*List; /* 记住需要销毁的结点,使用的结点销毁......

阅读全文(4337) | 评论:0

WinRAR 软件注册方法(2007-10-01 09:44:00)

摘要:大家知道 WinRAR 软件只有40天的试用,过期了尽管还是能使用,但是每次调出一个对话框出来提示,很是不爽,其实注册的方法很简单,只要将下面的信息在记事本上输入,存为rarreg.key,复制进Winrar的根目录里面,直接覆盖就可以了。如果嫌麻烦,可以输入下面网址。 ----------------------------------------------------------------------------------------
RAR registration data
Carol Thompson
Single PC usage license
UID=b8bc6fb0a8094b9eeb29
6412212250eb294bd5b605e535f7334b6e2e56a9e405a044f60225
c843a161a156aa01684c6035c6ab9048e2c5c62f0238f183d28519
aa87488bf38f5b634cf28190bdf438ac593b1857cdb55a7fcb0eb0
c3e4c2736090b3dfa45384e08e9de05c5860ae8049eaa9443b44f9
faac06b7ced5f95ab06b40a99e850616dc92fc5301fe63c674ea55
3971fefd9e10f300d2a515c74b02f673b7fe5a89fa92f51260a5af
78a306093f5763d6acc779488f5d42e9b044836a837c0424153795 ---------------------------------------------------------------------- [url]http://wstatic.xunlei.com/web/content.htm?cid=73DBDDB1EBF91714C42CB7E697018283DBA090F3[/url]
非原创,转帖至迅雷网站......

阅读全文(9636) | 评论:2

文件压缩(2007-09-29 01:40:00)

摘要:选中你要压缩的文件,然后点击右键,压缩为文件,弹出窗口让你设置文件名,下面可以设置每个文件的大小。比如 10 K......

阅读全文(7358) | 评论:0

利用FFT变换检测噪音的程序(2007-09-09 11:31:00)

摘要:%上面是一段利用FFT变换检测噪音的程序,x是随机加噪的 t=0:0.001:1;    %采样频率1000Hz
x=sin(2*pi*100*t)+sin(2*pi*200*t)+rand(size(t));%x长度1000 
subplot(2,1,1)
plot(x(1:50));
axis on;
xlabel('Variable t');       % 加X轴说明
ylabel('Variable x(t)');
y=fft(x,512);   %程序中只是选取前面512个点做FFT,其实点数可以任意选取,一般不小于数据长度,
% 甚至FFT长度可以不选取2的幂次。如果选取2的幂次意味着可以使用碟型展开计算FFT,容易硬件实现。仿真时可不拘泥于2的幂次。 f=1000*(0:256)/512; %采样频率1000Hz,数据窗长度512,频率分辨率1000/512,所以横坐标为:(0:256)×1000/512。 subplot(2,1,2)
plot(f,y(1:257));
axis on;
xlabel('Variable f');       % 加X轴说明
ylabel('Variable A(f)'); ......

阅读全文(3590) | 评论:0

matlab加密的方法(实际操作过程)(2007-09-02 09:40:00)

摘要:两种方法:一、生成p文件;二、生成.exe文件,拿刚做好的程序试验了一下,已经验证成功,记录一下过程:     生成p文件的方法很简单,在command wondow里面用 mcc -B pcode file.m命令转化为pcode文件,据说是不会被反编译的。他的缺点是不能够脱离Matlab单独运行,必须还在command window里面调用,可移植性不强。如果生成.exe文件就可以解决这个问题。     生成.exe文件的方法稍微复杂点: 1、首先要保证你的程序是函数型的,而不是脚本形式的。如果是脚本形式的也不要紧,只需要在脚本文件第一行添加 function []=name()即可。 2、然后,在command window里用mcc  -m  -B   sgl  file.m命令生成.exe文件,期间会让你选择编译器(我的是VC6.0),会发现生成了一堆文件。 3、将上步生成的那一堆文件一起拷到待运行的机器。此时仍需matlab所必需的动态连接库。将 <matlab path >/extern/lib/win32/mglinstallar.exe拷贝到到待运行机器上。
4.在待运行的机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有n个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下(我把它拷在应用程序目录下了)。而toolbox目录则必须与应用程序同一目录。
5.大功告成,双击.exe即可运行了。     总结:两种方法都可以达到保护源代码的目的,但是各有各的优缺点。生成p文件的优点是方法简单,生成文件大小只是源代码的3倍左右,缺点是不能脱离matlab环境运行。生成.exe文件的优点是可以脱离matlab单独运行,缺点是生成的文件大小是原来的几千倍(5555555555,当然包含那些.dll文件,体积最庞大的一部分)。就拿我的程序做个比较,源码是8.34K,生成p文件22.6K,生成可执行文......

阅读全文(6460) | 评论:0