|
|
用户名:d611 笔名:d611 地区: 西安 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
欢迎访问d611的博客 我是丁雷
C语言高效编程的几招
(作者置顶)
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。
第1招:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。
例如:字符串的赋值。
方法A,通常的办法:
#define LEN 32
char string1 [LEN];
memset (string1,0,LEN);
strcpy (string1,"This is an example!!"
方法B:
const char string2[LEN]="This is an 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 ((IU<<(bw##_bf))-1)<<(bs##_bf);
}
void SET_BITS(int_dst,int_bf,int_val)
{
_dst=((_dst) & ~ (BIT_MASK(_bf)))I\ (((_val)<<<(bs##_bf))&(BIT_MASK(_bf)))
}
SET_BITS(MCDR2,MCDR2_ADDRESS,RegisterNumber);
方法D:
#define bwMCDR2_ADDRESS 4
#define bsMCDR2_ADDRESS 17
#define bmMCDR2_ADDRESS BIT_MASK (MCDR2_ADDRESS)
#define BIT_MASK(_bf)(((1U<<(bw##_bf))-1)<< (bs##_bf)
#define SET_BITS(_dst,_bf,_val)\ ((_dst)=((_dst)&~(BIT_MASK(_bf)))I (((_val)<<(bs##_bf))&(BIT_MASK(_bf))))
SET_BITS(MCDR2,MCDR2_ADDRESS,RegisterNumber);
函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。大家要知道的是,函数调用是要使用系统的栈来保存数据的,如果编译器里有栈检查选项,一般在函数的头会嵌入一些汇编语句对当前栈进行检查;同时,CPU也要在函数调用时保存和恢复当前的现场,进行压栈和弹栈操作,所以,函数调用需要一些CPU时间。而宏函数不存在这个问题。宏函数仅仅作为预先写好的代码嵌入到当前程序,不会产生函数调用,所以仅仅是占用了空间,在频繁调用同一个宏函数的时候,该现象尤其突出。
D方法是我看到的最好的置位操作函数,是ARM公司源码的一部分,在短短的三行内实现了很多功能,几乎涵盖了所有的位操作功能。C方法是其变体,其中滋味还需大家仔细体会。
第2招:数学方法解决问题
现在我们演绎高效C语言编写的第二招--采用数学方法来解决问题。
数学是计算机之母,没有数学的依据和基础,就没有计算机的发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。
举例如下,求1~100的和。
方法E
int I,j;
for (I=1; I<=100; I++){
j+=I;
}
方法F
int I;
I=(100*(1+100))/2
这个例子是我印象最深的一个数学用例,是我的饿计算机启蒙老师考我的。当时我只有小学三年级,可惜我当时不知道用公式Nx(N+1)/2来解决这个问题。方法E循环了100次才解决问题,也就是说最少用了100个赋值、100个判断、200个加法(I和j);而方法F仅仅用了1个加法、1个乘法、1次除法。效果自然不言而喻。所以,现在我在编程序的时候,更多的是动脑筋找规律,最大限度地发挥数学的威力来提高程序运行的效率。
第3招:使用位操作
实现高效的C语言编写的第三招--使用位操作,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。举例台如下:
方法G
int I,J;
I=257/8;
J=456%32;
方法H
int I,J;
I=257>>3;
J=456-(456>>4<<4);
在字面上好象H比G麻烦了好多,但是,仔细查看产生的汇编代码就会明白,方法 G调用了基本的取模函数和除法函数,既有函数调用,还有很多汇编代码和寄存器参与运算;而方法H则仅仅是几句相关的汇编,代码更简洁、效率更高。当然,由于编译器的不同,可能效率的差距不大,但是,以我目前遇到的MS C,ARM C来看,效率的差距还是不小。相关汇编代码就不在这里列举了。
运用这招需要注意的是,因为CPU的不同而产生的问题。比如说,在PC上用这招编写的程序,并在PC上调试通过,在移植到一个16位机平台上的时候,可能会产生代码隐患。所以只有在一定技术进阶的基础下才可以使用这招。
第4招:汇编嵌入
高效C语言编程的必杀技,第四招--嵌入汇编。
“在熟悉汇编语言的人眼里,C语言编写的程序都是垃圾”。这种说法虽然偏激了一些,但是却有它的道理。汇编语言是效率最高的计算机语言,但是,不可能靠着它来写一个操作系统吧?所以,为了获得程序的高效率,我们只好采用变通的方法--嵌入汇编、混合编程。
举例如下,将数组一赋值给数组二,要求每一个字节都相符。char string1[1024], string2[1024];
方法I
int I;
for (I=0; I<1024; I++)
*(string2+I)=*(string1+I)
方法J
#int I;
for(I=0; I<1024; I++)
*(string2+I)=*(string1+I);
#else
#ifdef_ARM_
_asm
{
MOV R0,string1
MOV R1,string2
MOV R2,#0
loop:
LDMIA R0!,[R3-R11]
STMIA R1!,[R3-R11]
ADD R2,R2,#8
CMP R2, #400
BNE loop
}
#endif
方法I是最常见的方法,使用了1024次循环;方法J则根据平台不同做了区分,在ARM平台下,用嵌入汇编仅用128次循环就完成了同样的操作。这里有朋友会说,为什么不用标准的内存拷贝函数呢?这是因为在源数据里可能含有数据为0的字节,这样的话,标准库函数会提前结束而不会完成我们要求的操作。这个例程典型应用于LCD数据的拷贝过程。根据不同的CPU,熟练使用相应的嵌入汇编,可以大大提高程序执行的效率。
虽然是必杀技,但是如果轻易使用会付出惨重的代价。这是因为,使用了嵌入汇编,便限制了程序的可移植性,使程序在不同平台移植的过程中,卧虎藏龙、险象环生!同时该招数也与现代软件工程的思想相违背,只有在迫不得已的情况下才可以采用。切记。
使用C语言进行高效率编程,我的体会仅此而已。在此已本文抛砖引玉,还请各位高手共同切磋。希望各位能给出更好的方法,大家一起提高我们的编程技巧。
怎样学习C语言
二级VB常见问题和技巧解答
| 二级VB常见问题和技巧解答 | |||
| [ 作者:站长 转贴自:计算机等考在线 点击数: 119 更新时间:2005-12-04 文章录入:Admin ] | |||
| |||
|
|
|
网页代码常用小技巧
1.让浏览器窗口永远都不出现滚动条。
〈body style="overflow-x:hidden;overflow-y:hidden"〉或〈body style="overflow:hidden"〉 或〈body scroll=no〉
2,没有水平滚动条
〈body style="overflow-x:hidden"〉
3,没有垂直滚动条
〈body style="overflow-y:hidden"〉
2,如何给图片抖动怎做的.
〈SCRIPT language=javascript1.2〉
〈!--
var rector=2
var stopit=0
var a=1
var count=0
function init(which){
stopit=0
shake=which
shake.style.left=0
shake.style.top=0
}
function rattleimage(){
if ((!document.all&&!document.getElementById)||stopit==1||count==100)
return
count++
if (a==1){
shake.style.top=parseInt(shake.style.top)+rector
}
else if (a==2){
shake.style.left=parseInt(shake.style.left)+rector
}
else if (a==3){
shake.style.top=parseInt(shake.style.top)-rector
}
else{
shake.style.left=parseInt(shake.style.left)-rector
}
if (a〈4)
a++
else
a=1
setTimeout("rattleimage()",50)
}
function stoprattle(which){
stopit=1
count=0
which.style.left=0
which.style.top=0
}
//--〉
〈/SCRIPT〉
〈style〉.shakeimage {POSITION: relative}
〈/style〉
〈img src="图片的路径" onmouseout=stoprattle(this) onmouseover=init(this);rattleimage() class=shakeimage〉
4,在DW如何给水平线加颜色。
在DW中没有此项设置,你只能在HTML中加入代码:〈hr color=red noshade〉按F12的预览在能看到。由于在NC中不支持〈hr〉的COLOR属性,所以在DW中没有此项设置。
5,如何在网页中实现flash的全屏播放?
只要在调用swf文件的HTML中将WIDTH和HEIGHT的参数设为100%即可,当然也可以在Flash导出HTML文件的设置中进行设置,方法是:打开File菜单;选Publish Settings弹出导出设置对话框;在HTML标签下的Dimensions选项,下拉后选中Percent(百分比),并在WIDTH 和HEIGHT框中填100.就行了。
6,为什么我在DW中插入的Flash动画缺看不找!
如果你没有正确地安装Dreamweaver和Flash,那么在你预览的时候,Dreamweaver会提示你缺少播放的插件,请你按装InstallAXFlash.exe 并从新启动计算机。现在IE6已经捆绑这个程序。
7,在Flash中,如果屏蔽鼠标右键?FS命令都是什么意思?
fscommand ("fullscreen", "true/false");(全屏设置,TRUE开,FALSE关)
fscommand ("showmenu", "true/false");(右键菜单设置,TRUE显示,FALSE不显示)
fscommand ("allowscale", "true/false");(缩放设置,TRUE自由缩放,FALSE调整画面不影响影片本身的尺寸)
fscommand ("trapallkeys", "true/false");(快捷键设置,TRUE快捷键开,FALSE快捷键关)
fscommand ("exec");(EXE程序调用)
fscommand ("quit");(退出关闭窗口)
8,Flash中什么是隐形按钮。
利用button中的hit帧来制作只有感应区域而完全透明的按钮。
9,如何给Flash动画做链接。
Dreamweaver是不能给Flash制作链接的,只能在Flash中用geturl()加链接,然后再插入Dreamweaver中。
10,DW中的层的技巧。
层是可以嵌套的,我个人给大家一个技巧,在层面板中按住CTRL再拖放层到你想去成为其子层的地方就行了,我认为这是最简单直观的方法了。
11,如何改变鼠标的形状?
在Dreamweaver4中CSS样式面板:
按CTR +SHIFT+E--出现样式表对话框,点击NEW,出现编辑对话框,在左边最后一项extensions-cursor 选择你要改的指针形式就可以了,然后把你要想改变的地方运用样式表,如果整页都有在〈body bgcolor="#003063" text="#ffffff" id=all〉中加入就行了。
〈span style="cursor:X`〉样例〈/span〉
这里选择(文本)作为对象,还可以自己改为其他的,如link等。
x 可以等于=hand(手形)、crosshair(十字)、text(文本光标)、wait(顾名思义啦)、default(默认效果)、help(问号)、e-size(向右箭头)、ne-resize(向右上的箭头)、nw-resize(向左上的箭头)、w-resize(向左的箭头)、sw- resize(左下箭头)、s-resize(向下箭头)、se-resize(向右下箭头)、auto(系统自动给出效果)。
12,用CSS做邮票,看看吧!
〈input type=button value=我象不象邮票? style="height:80px;border:2px dashed #cccccc"〉
13,经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,怎么做呢!
这javascript代码即可实现,摘录蓝色论坛。
【1、最基本的弹出窗口代码】
其实代码非常简单:
〈SCRIPT LANGUAGE="javascript"〉
〈!--
window.open (`page.html`)
--〉
〈/SCRIPT〉
因为着是一段javascripts代码,所以它们应该放?lt;SCRIPT LANGUAGE="javascript"〉标签和〈/script〉之间。〈!-- 和 --〉是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
window.open (`page.html`) 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,〈head〉和〈/head〉之间可以,〈body bgcolor="#003063" text="#ffffff" id=all〉间〈/body〉也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。
【2、经过设置后的弹出窗口】
下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。
我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。
〈SCRIPT LANGUAGE="javascript"〉
〈!--
window.open (`page.html`, `newwindow`, `height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no`)
//写成一行
--〉
〈/SCRIPT〉
参数解释:
〈SCRIPT LANGUAGE="javascript"〉 js脚本开始;
window.open 弹出新窗口的命令;
`page.html` 弹出窗口的文件名;
`newwindow` 弹出窗口的名字(不是文件名),非必须,可用空``代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
〈/SCRIPT〉 js脚本结束
【3、用函数控制弹出窗口】
下面是一个完整的代码。
〈html〉
〈head〉
〈script LANGUAGE="javascript"〉
〈!--
function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar=
no, menubar=no, scrollbars=no, resizable=no, location=no, status=no")
//写成一行
}
//--〉
〈/script〉
〈/head〉
〈body onload="openwin()"〉
…任意的页面内容…
〈/body〉
〈/html〉
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。
怎么调用呢?
方法一:〈body onload="openwin()"〉 浏览器读页面时弹出窗口;
方法二:〈body onunload="openwin()"〉 浏览器离开页面时弹出窗口;
方法三:用一个连接调用:
〈a href="#" onclick="openwin()"〉打开一个窗口〈/a〉
注意:使用的“#”是虚连接。
方法四:用一个按钮调用:
〈input type="button" onclick="openwin()" value="打开窗口"〉
14,没有用表格写的,让大家随便看看,没什么。
〈html〉
〈head〉
〈title〉江南荷花扇面〈/title〉
〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉
〈style type="text/css"〉
〈!--
.font1 { font-size: 12px; color: #999999; text-decoration: none}
a { font-size: 12px; color: #999999; text-decoration: none}
a:hover { font-size: 12px; color: #000000; text-decoration: none}
--〉
〈/style〉
〈/head〉
〈body bgcolor="#FFFFFF" text="#000000"〉
〈div class="font1" style="writing-mode=tb-rl;height:200px" width=300〉
〈p〉盛夏 尚 涛
〈p〉〈a href="index.htm"〉一夜露痕黄粉香 袁运甫 〈/a〉
〈p〉瑶池昨夜新凉 王金岭
〈p〉一朵白莲随意开 吴冠南
〈p〉新雨迎秋欲满塘 齐辛民
〈p〉十里荷香 齐辛民
〈p〉濯清莲而不妖 卢世曙
〈/div〉
〈/body〉
〈/html〉
15,IE6已支持自定义cursor!
语法格式 cursor:url(图标) //cur或是ani文件.
cur就是WINDOWS中的光标(cursor)文件,光标文件与图标(ICON)文件除了文件头有一个位置的值不同外,实际是一样的。
ani是WINDOWS中的动画光标(图标)文件。
〈style type="text/css"〉
〈!--
.unnamed1 { cursor:url(arrow2c.cur)}
--〉
〈/style〉
16,用marquee做的滚动字幕.这也我刚看到论坛的朋友在问。
语法:
align=# | top | middle| bottom //对齐方式)
BEHAVIOR=ALTERNATE | SCROLL | SLIDE //移动的方式
BGCOLOR=color//底色区域颜色
DIRECTION=DOWN | LEFT | RIGHT | UP //移动的方向
Loop=n //循环次数(默认是循环不止)
Scrolldelay=milliseconds//延时
height=# width=# //区域面积
hspace=# vspace=# //空白区域
scrollamount=# //移动的速度
〈marquee align=top behavior=ALTERNATE BGCOLOR=#000000 height=60 width=433 scrollamount=5〉〈/marquee〉
17,在FLASH5中也存在一些字体,打散后变成一团的事是为什么?有解决的办法吗。
这是大家很常见的问题!可能是对字库支持的不好!我个是做成透明的gif图片格式,然后倒入。
18,flash的网页里“加入收藏夹”功能怎么实现?
在as中加getUrl("java script:window.external.addFavorite(http://www.webjx.com`,`网页教学网`)")
19,在Flash中,文本的动态属性和输入属性的区别。
input text在运行时可被用户或程序改变其值。
ynamic text仅允许被程序修改。
20,怎样在IE中调用Dreamweaver进行编辑.
相信很多在使用WinME或Window2000的朋友,会遇见是个问题。很简单,把我们笔记本程序打开,保存为一个 *.reg 文件。双击它将信息添加到注册表即可。
REGEDIT4
[HKEY_CLASSES_ROOT.htmOpenWithListDreamweaver]
[HKEY_CLASSES_ROOT.htmOpenWithListDreamweavershell]
[HKEY_CLASSES_ROOT.htmOpenWithListDreamweavershelledit]
[HKEY_CLASSES_ROOT.htmOpenWithListDreamweavershelleditcommand]
@=""c:Program FilesMacromediaDreamweaver 4dreamweaver.exe" "%1""
21,设置表格虚线。
方法一:作一个1X2的图。半黑半白,再利用表格作成线。
方法二:在css里面设,要IE5。5才支持这种效果。
style="BORDER-LEFT: #000000 1PX DASHED; BORDER-RIGHT: #000000 1PX DASHED; BORDER-TOP: #000000 1PX DASHED; BORDER-BOTTOM: #000000 1PX DASHED"
22,看看在网页中调用HHCtrl控件效果。
代码如下:
〈object id="HHC" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"〉〈/object〉〈script〉 HHC.TextPopup("哈哈,大家好,我是闪梦!","",50,5,128255,346751);〈/script〉
22,如何让一张图片有浅到深的渐变。
〈SCRIPT language=javascript1.2〉
〈!--
function high(which2){
theobject=which2
highlighting=setInterval("highlightit(theobject)",50)
}
function low(which2){
clearInterval(highlighting)
which2.filters.alpha.opacity=40
}
function highlightit(cur2){
if (cur2.filters.alpha.opacity〈100)
cur2.filters.alpha.opacity+=10
else if (window.highlighting)
clearInterval(highlighting)
}
〈/script〉
〈img onmouseout=low(this) onmouseover=high(this) style="FILTER: alpha(opacity=40)"src="logo.gif" 〉
23,双击鼠标左键来滚动背景,单击停止。
〈SCRIPT language=javascript〉
var currentpos,timer;
function initialize()
{
timer=setInterval("scrollwindow()",16);
}
function sc(){
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize
〈/SCRIPT〉
24,如何在同一页面设置不同文字链接效果的样式.
代码如下:
〈HTML〉〈HEAD〉〈TITLE〉如何在同一页面设置不同文字链接效果的样式〈/TITLE〉
〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉
〈style type="text/css"〉
〈!--
a:hover { font-size: 9pt; color: #FF0000; text-decoration: underline}
a:link { font-size: 9pt; color: #006699; text-decoration: underline}
a:visited { font-size: 9pt; color: #006699; text-decoration: underline}
a:active { font-size: 9pt; color: #FF0000; text-decoration: none}
a.r1:hover { font-size: 9pt; color: #FF0000; text-decoration: underline overline}
a.r1:link { font-size: 9pt; color: #000000; text-decoration: underline overline}
a.r1:visited { font-size: 9pt; color: #99CC00; text-decoration: underline overline}
a.r1:active { font-size: 9pt; color: #000000; text-decoration: underline overline}
--〉
〈/style〉
〈/head〉
〈body bgcolor="#FFFFFF" text="#000000"〉
〈a href="#"〉下划线链接 〈/a〉
〈p〉〈/p〉
〈a href="#" class="r1"〉双下划线链接〈/a〉
〈/BODY〉
〈/HTML〉
补充说明:
a:hover 表示鼠标划过时的样式.
a:link 表示链接的样式.
a:active 表示当前活动连接的样式.
a:visited 表示已经访问过的连接的样式.
25, 用CSS给文字加入阴影效果和文字描边效果。
.glow{FONT-SIZE: 9pt; FILTER: Glow(Color=#000000, Strength=1)}
//文字描边效果
.shadow {FONT-SIZE: 9pt; FILTER: DropShadow(OffX=1, OffY=1, DropShadow(OffX=1, OffY=1, color:#111111); COLOR: #ffffff; FONT-FAMILY: "宋体"}
//加入阴影效果
补充说明:
这两种滤镜要想实现效果,必须加在如:〈td class=glow或shadow 〉〈div〉xxxxxxxxx〈/div〉〈/td〉上
,并且要留有足够的空间能够显示阴影或描边,否则会出现半截的阴影或描边现象。
26,如何给做带颜色的下拉菜单。
〈select style="FONT-SIZE: 10px; COLOR: #ffffff; FONT-FAMILY: Verdana;BACKGROUND-COLOR: #ff6600;" size=1 〉
〈option selected〉:: Dreamweaver4 ::〈/option〉
〈option〉::Flash5::〈/option〉
〈option〉::Firewoks4::〈/option〉
〈/select〉
27,关于DW4的表格中的亮边框和暗边框问题。
在DW4的表格面板中并没有亮边框和暗边框的属性设置,因为NC不支持,只有你在代码中添加了。
bordercolorlight="#999999" bordercolordark="#000000"
你也可以用Css定义一个class。例如:
〈style〉
.bordercolor { bordercolorlight: #999999; bordercolordark: #000000 }
〈/style〉
然后在要加效果的表格里加?lt;table class="bordercolor"〉
28,自动显示主页最后更新日期.
〈script〉
document.write("最后更新日期:"+document.lastModified+"")
〈/script〉
29,如何让滚动条出现在左边?
我想居然在论坛中有人发表了这段代码,很有意思,它的确照顾一些左撇子,呵呵!
〈html dir="rtl"〉
〈body bgcolor="#000000" text="#FFFFFF"〉
〈table height=18 width=212 align=center bgcolor=#FFFFFF dir="ltr" cellspacing="1" cellpadding="0"〉
〈tr〉
〈td bgcolor="#FF0000" 〉是不是你的滚动条在左边啊〈/td〉
〈/tr〉
〈/table〉
〈/body〉
〈/html〉
30,如何加入网址前面的小图标?
首先,您必须了解所谓的图标(Icon)是一种特殊的图形文件格式,它是以 .ico 作为扩展名。你可用在网上找一个制作图标软件,它具有特有的规格:图标的大小为 16 * 16(以像素为单位);颜色不得超过 16 色。在该网页文件的 HEAD 部分加入下面的内容:〈LINK REL="SHORTCUT ICON" HREF=" http://www.webjx.com/图标文件名"〉,并放在该网页的根目录下。
31,在800*600显示器中,如何不让网页水平出现滚动条!
设至〈body leftmargin="0" topmargin="0"〉,网页中的表格宽度为778。
32,关于〈!DOTYPE〉的说明解释。
在网页中,经常会看到〈!DOCTYPE HTML PUBLIC`-//W3C//DTD HTML 4.01//EN`〉,是声明HTML文件的版本信息。
33, 用图片来关闭窗体.
〈A href="java script:window.close()"〉〈IMG height=20 width=20 alt="关闭窗口" src="close.gif" border=0〉〈/A〉
补充说明:如何使用了ACTIVEX!,不再警告窗口?
〈html〉
〈head〉
〈object id=closes type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"〉
〈param name="Command" value="Close"〉〈/object〉
〈/head〉
〈body bgcolor="#003063" text="#ffffff" id=all〉 〈a href="#" onclick="closes.Click();"〉关闭窗口无提示〈/a〉
〈/body〉
〈/html〉
34,禁止鼠标右键查看网页源代码。
〈SCRIPT language=javascript〉
function click()
{if (event.button==2) {alert(`你好,欢迎光临!`) }}
document.onmousedown=click
〈/SCRIPT〉
补充说明:
鼠标完全被封锁,可以屏蔽鼠标右键和网页文字。
〈 body oncontextmenu="return false" ondragstart="return false" onselectstart="return false"〉
35,通过按钮来查看网页源代码。
〈input type="BUTTON" value="查看源代码" onClick= `window.location = "view-source:" + window.location.href` name="BUTTON"〉
36,怎么用文字联结实现按钮的SUBMIT功能?
〈a href="#" onclick="formname.submit()"〉OK〈/a〉
这段文字要放在form里。formname是这里要写在form中的name,〈form name=form111〉那么就应该是form111.submit()
37,如何做一个空链接?
加#
38,利用〈IFRAME〉来给网页中插入网页。
经常我看到很多网页中又有一个网页,还以为是用了框架,其实不然,是用了〈IFRAME〉,它只适用于IE,NS可是不支持〈IFRAME〉的,但围着的字句只有在浏览器不支援 iframe 标记时才会显示,如〈noframes〉一样,可以放些提醒字句之类的话。
你注意啊!下面请和我学习它的用法。
分析代码:〈iframe src="iframe.html" name="test" align="MIDDLE" width="300" height="100" marginwidth="1" marginheight="1" frameborder="1" scrolling="Yes"〉 〈/iframe〉
src="iframe.html"
用来显示〈IFRAME〉中的网页来源,必要加上相对或绝对路径。
name="test"
这是连结标记的 target 参数所需要的。
align="MIDDLE"
可选值为 left, right, top, middle, bottom,作用不大 。
width="300" height="100"
框窗的宽及长,以 pixels 为单位。
marginwidth="1" marginheight="1"
该插入的文件与框边所保留的空间。
frameborder="1"
使用 1 表示显示边框, 0 则不显示。(可以是 yes 或 no)
scrolling="Yes"
使用 Yes 表示容许卷动(内定), No 则不容许卷动。
39,请问<tbody>的用法?
tbody用法据说是加强对表格的控制能力的.例如:
〈table〉〈tbody〉……..〈/tbody〉〈/table〉
tbody代码如果不是你用手写的话,只有在你用IE5打开一个网页的时候, 把它另存为
一下,你的另存为的文件在表格中就会生成tbody代码。(即便你的表格根本就没有
tbody代码,IE5另存为的时候也会给你生成)。
40,Alt和Title都是提示性语言标签,请注意它们之间的区别。
在我们浏览网页时,当鼠标停留在图片对象或文字链接上时,在鼠标的右下角有时会出现一个提示信息框。对目标进行一定的注释说明。在一些场合,它的作用是很重要的。
alt 用来给图片来提示的。Title用来给链接文字或普通文字提示的。
用法如下:
〈p Title="给链接文字提示"〉文字〈/p〉
〈a href="#" Title="给链接文字提示"〉文字〈/a〉
〈img src="图片.gif" alt="给图片提示"〉
补充知识:〈TITLE〉〈ALT〉里面如何多行换行?在源代码里Enter回车。
〈a href="#" Title="个人简历
姓名:张培
网名:我是闪梦
性别:男的,不是女的。
爱好:网页制作,软件开发"〉个人简历〈/a〉
例如:个人简历
41, 用javascript代码来实现闪烁按钮。
〈body〉
〈form method="POST" action="--WEBBOT-SELF--"〉
〈input type="button" name=SUB value="闪烁" id=flashit style="BORDER: 1px solid ;BACKGROUND-COLOR: #FFFFFF"〉
〈/form〉
〈script〉
if (document.all&&document.all.flashit)
{
var flashelement=document.all.flashit
if (flashelement.length==null)
flashelement[0]=document.all.flashit
function changecolor(which)
{
if (flashelement[which].style.color==`#800000`)
flashelement[which].style.color="#0063A4"
else
flashelement[which].style.color="#800000"
}
if (flashelement.length==null)
setInterval("changecolor(0)",1000)
else
for (i=0;i〈flashelement.length;i++)
{
var tempvariable=`setInterval("changecolor(`+i+`)",`+`1000)`
eval(tempvariable)
}
}
〈/script〉
〈/body〉
42,CSS给图片定义颜色边框。
img { border: 1px solid red}
43,在DW中如何使插入的FLASH透明。
方法一:选中swf,打开原代码窗口,在〈/object〉前输入:〈param name="wmode" value="transparent"〉
方法二:在Flash中的Flie→Publist Settings→HTML→Window Mode选择transparent
44,在DW编辑文本中,如何输入一个空格呢?
输入空格的问题,在DW似乎已成了一个老生常谈的问题。通过将输入法调整到全角模式就可以避免了。本以人工智能ABC为例.按Shift+Space切换到全角状态。
45,为何我的DW中图形显示不正常。
第一种:可能是因为你定义并正在使用一个site,而你的HTML文件或者图片不在这个site包含的区域之内,因此dreamweaver使用file协议来
描述图象的绝对路径,可惜IE不支持src中使用file协议,所以图象就显示不出来了。
第二种:可能是放图片的文件夹或图片名为中文,也显示不到网页中去。
46,如何在本地机器上测试flash影片的loading?
我想这可能是很多人在问的题了,其实很简单,在Test时,选选View-〉Show Streaming就可以看到了。
47,在网页中做出一根竖的线有几种办法.
第一种方法:用一个像素图的办法!
如果你用Dreamwever的Edit→Preferences…→Layout View中的Spacer Image给你创建了一个缺省名为:spacer.gif的一个像素图文件 。
代码中:
〈table border="0" cellspacing="0" cellpadding="0"〉
〈tr〉
〈td bgcolor="#FF0000" height="200" 〉〈img src="spacer.gif" width="1" height="1"〉〈/td〉
〈/tr〉
〈/table〉
第二种方法:用表格填颜色的办法!把〈td〉 〈/td〉中的 删掉 .
〈table border="0" cellspacing="0" cellpadding="0"〉
〈tr〉
〈td bgcolor="#FF0000" height="200" width="1"〉〈/td〉
〈/tr〉
〈/table〉
第三种方法:用水平条。
〈hr color="red" width="1" size="100%"〉
48, 关于鼠标拖动,改变层大小。──看看微软的做法.
〈script〉
document.execCommand("2D-position",false,true);
〈/script〉
〈DIV contentEditable=true〉
〈DIV style="WIDTH: 300px; POSITION: absolute; HEIGHT: 100px; BACKGROUND-COLOR: red"〉移动层〈/DIV〉
〈/DIV〉
49 ,点击连接文字加入收藏夹。
〈a href="java script:window.external.AddFavorite(http://www.webjx.com, 网页教学网`)"〉点击加入收藏夹〈/a〉
如内容超出单元格,则隐藏
style="TABLE-LAYOUT: fixed"
让弹出窗口总是在最上面: <body onblur="this.focus();">
不要滚动条? 让竖条没有: <body style='overflow:scroll;overflow-y:hidden'> </body>
让横条没有: <body style='overflow:scroll;overflow-x:hidden'> </body>
两个都去掉?更简单了 <body scroll="no"> </body>
怎样去掉图片链接点击后,图片周围的虚线? <a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>
电子邮件处理提交表单 <form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain"> <input type=submit> </form>
在打开的子窗口刷新父窗口的代码里如何写? window.opener.location.reload()
如何设定打开页面的大小 <body onload="top.resizeTo(300,200);">
在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 <html><head> <STYLE> body {background-image:url(logo.gif); background-repeat:no-repeat; background-position:center } </STYLE> </head> <body bgproperties="fixed" > </body> </html>
各种样式的光标 auto :标准光标
default :标准箭头
hand :手形光标
wait :等待光标
text :I形光标
vertical-text :水平I形光标
no-drop :不可拖动光标
not-allowed :无效光标
help :?帮助光标
all-scroll :三角方向标
move :移动标
crosshair :十字标 e-resize n-resize nw-resize w-resize s-resize se-resize sw-resize
本机ip<%=request.servervariables("remote_addr")%>
服务器名<%=Request.ServerVariables("SERVER_NAME")%>
服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>
服务器端口<%=Request.ServerVariables("SERVER_PORT")%>
服务器时间<%=now%> IIS
版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>
脚本超时时间<%=Server.ScriptTimeout%>
本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>
服务器解译引擎<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
服务器操作系统<%=Request.ServerVariables("OS")%>
文本竖排方式
<style type="text/css">
<!--
.shupai {Writing-mode:tb-rl}
-->
</style>
超链接去虚线边框
在链接中加上onfocus="this.blur()"
网页搜索关键字 头里插入
<META NAME="keywords" CONTENT="xxxx,xxxx,xxx,xxxxx,xxxx,">
收藏夹图标
<link rel = "Shortcut Icon" href="favicon.ico">
我的电脑
file:///::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
网上邻居
file:///::%7B208D2C60-3AEA-1069-A2D7-08002B30309D%7D
我的文档
file:///::%7B450D8FBA-AD25-11D0-98A8-0800361B1103%7D
控制面板
file:///::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}
回收站
file:///::%7B645FF040-5081-101B-9F08-00AA002F954E%7D
鼠标控制图片隐现效果
把如下代码加入<body>区域中:
<SCRIPT language="javascript">
<!--
function makevisible(cur,which){
if (which==0)
cur.filters.alpha.opacity=100
else
cur.filters.alpha.opacity=20
}
//-->
</SCRIPT>
2、把如下代码加入<body>区域中:
<img src="2.gif" style="filter:alpha(opacity=20)"
onMouseOver="makevisible(this,0)"
onMouseOut="makevisible(this,1)">
禁止图片下载
<A HREF="javascript:void(0)" onMouseover="alert('对不起,此图片不能下载!')">
<IMG SRC="2.gif" Align="center" Border="0" width="99" height="50"></A>
页嵌页
<iframe width=291 height=247 src="main.files/news.htm" frameBorder=0></iframe>
隐藏滚动条
<body style="overflow-x:hidden;overflow-y:hidden"
CSS文字阴影(定义在<TD>中)
.abc{
FILTER: dropshadow(color=#666666, offx=1, offy=1, positive=1); FONT-FAMILY: "宋体"; FONT-SIZE: 9pt;COLOR: #ffffff;
}
列表/菜单
onchange="location=this.options[this.selectedIndex].value"
<iframe id="frm" src="k-xinwen.html" scrolling="no" width="314" height="179"></iframe>
<img src="xiangshang.jpg" onMouseOver="sf=setInterval('frm.scrollBy(0,-2)',1)" onMouseOut="clearInterval(sf)" width="31" height="31">
<img src="xiangxia.jpg" onMouseOver="sf=setInterval('frm.scrollBy(0,2)',1)" onMouseOut="clearInterval(sf)" width="31" height="31" >
reurl=server.htmlencode(request.ServerVariables("HTTP_REFERER"))
服务器上如何定义连接
MM_www_STRING ="driver={Microsoft access Driver (*.mdb)};dbq=" & server.mappath("../data/www.mdb")
链接到
response.redirect"login.asp"
location.href="xx.asp"
onClick="window.location='login.asp'"
onClick="window.open('')"
取得IP
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
sql="update feedbak set hit=hit+1 where id="&request("id")
conn.execute(sql)
截取字符是否加...
function formatStr(str,len)
if(len(str)>len)
str = left(str,len) + "..."
end if
formatStr = str
end function
接收表单
If Ucase(Request.ServerVariables("REQUEST_METHOD")) = "POST" then
end if
图片宽度
<script language="javascript">
<!--
var flag=false;
function DrawImage(ckp){
var image=new Image();
image.src=ckp.src;
if(image.width>0 && image.height>0)
{flag=true;
if(image.width>120){
ckp.width=120;
}else{
ckp.width=image.width;
}
ckp.alt=image.width+"×"+image.height;
}
}
//-->
</script>
I'll be Back 22:18:06
<img src="<%=formPath%>/<%=rs("photoname")%>" border="0" onload="javascript:DrawImage(this);">
跳转
<meta http-equiv=refresh content='0; url=/distributor/distributor.aspx'>
溢出栏的设制
visible:超出的部分照样显示;
hidden:超出的部分隐藏;
scrool:不管有否超出,都显示滚动条;
auto:有超出时才出现滚动条;
onMouseOver:鼠标移到目标上;
onMouseUp:按下鼠标再放开左键时;
onMouseOut:鼠标移开时;
onMouseDown:按下鼠标时(不需要放开左键);
onClink:点击时;
onDblClick:双击时;
onLoad:载入网页时;
onUnload:离开页面时;
onResize:当浏览者改变浏览窗口的大小时;
onScroll:当浏览者拖动滚动条的时。
CSS样式
a:link:表示已经链接;
a:hover:表示鼠标移上链接时;
a:active:表示链接激活时;
a:visited:表示己点击过的链接。
跳出对话框链接
javascript:alert('lajflsjpjwg')
后退:javascript:history.back(1)
关闭窗口:javascript:window.close();
窗口还原
function restore(){
window.moveTo(8,8);
window.resizeTo(screen.width-24,screen.availHeight-24);
}
head区是指首页HTML代码的<head>和</head>之间的内容。
必须加入的标签
1.公司版权注释
<!--- The site is designed by Maketown,Inc 06/2000 --->
2.网页显示字符集
简体中文:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
繁体中文:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=BIG5">
英 语:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
3.网页制作者信息
<META name="author" content="webmaster@maketown.com">
4.网站简介
<META NAME="DESCRIPTION" CONTENT="xxxxxxxxxxxxxxxxxxxxxxxxxx">
5.搜索关键字
<META NAME="keywords" CONTENT="xxxx,xxxx,xxx,xxxxx,xxxx,">
6.网页的css规范
<LINK href="style/style.css" rel="stylesheet" type="text/css">
(参见目录及命名规范)
7.网页标题
<title>xxxxxxxxxxxxxxxxxx</title>
.可以选择加入的标签
1.设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
2.禁止浏览器从本地机的缓存中调阅页面内容。
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
3.用来防止别人在框架里调用你的页面。
<META HTTP-EQUIV="Window-target" CONTENT="_top">
4.自动跳转。
<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.yahoo.com">
5指时间停留5秒。
5.网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。
<META NAME="robots" CONTENT="none">
CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。
6.收藏夹图标
<link rel = "Shortcut Icon" href="favicon.ico">
所有的javascript的调用尽量采取外部调用.
<SCRIPT LANGUAGE="javascript" SRC="script/xxxxx.js"></SCRIPT>
附<body>标签:
<body>标签不属于head区,这里强调一下,为了保证浏览器的兼容性,必须设置页面背景<body bgcolor="#FFFFFF">
flash透明
在flash的源代码中加上:<param name="wmode" value="transparent">
表格透明
style="FILTER: alpha(opacity=72)"
网址前添加icon的方法
1、上http://www.favicon.com上用他的icon editor online制作一个图标。他会将做好的图标通过email即时发送给你。
2、把这个命名为favicon.ico的图标放置在index.html同一个文件夹中。就可以了。
作一个图标文件,大小为16*16像素。文件扩展名为ico,然后上传到相应目录中。在HTML源文件“<head></head>”之间添加如下代码:
<Link Rel="SHORTCUT ICON" href="http://图片的地址(注意与刚才的目录对应)">
其中的“SHORTCUT ICON”即为该图标的名称。当然如果用户使用IE5或以上版本浏览时,就更简单了,只需将图片上传到网站根目录下,自动识别
可以在收藏夹中显示出你的图标<link rel="Bookmark" href="favicon.ico">
状态栏连接说明
<A HREF="链接到某处" onmouseOver="window.status='连接说明';return true;" onMouseOut="window.status=' ';">某某链接</a>
链接说明
<a href=“”Title=链接说明>
禁止鼠标右键
在<body>标签中加入 <body oncontextmenu="return false">
DW里输入空格
插入N个
水平线
<hr width="长度" size="高度" color="颜色代码" noshade> noshade为有无阴影
表单电子邮件提交
< form name="content" method="post" action="mailto:电子邮箱" >< /form>
文本域名为Subject 为邮件的标题
邮件链接定制
Mailto:地址 ? Subject=邮件的标题 &bc=抄送 &bcc=密件抄送
背景音乐
<bgsound src=地址 loop="-1">
禁止页面正文选取
<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()">
消除ie6自动出现的图像工具栏,设置 GALLERYIMG属性为false或no .
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="no">
防止点击空链接时,页面往往重置到页首端。
代码“javascript:void(null)”代替原来的“#”标记
如何避免别人把你的网页放在框架中
<script language=“javascript”><!--if (self!=top){top.location=self.location;} -->< /script>
页面定时刷新
<meta http-equiv="Refresh" content="秒" >
页面定时转向新的地址
<meta http-equiv="refresh" content="秒;URL=url">
显示日期
<script language="javascript"><!--
today=new Date();
var week; var date;
if(today.getDay()==0) week="星期日"
if(today.getDay()==1) week="星期一"
if(today.getDay()==2) week="星期二"
if(today.getDay()==3) week="星期三"
if(today.getDay()==4) week="星期四"
if(today.getDay()==5) week="星期五"
if(today.getDay()==6) week="星期六"
date=(today.getYear())+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日"+" "
document.write("<span style='font-size: 9pt;'>"+date+week+"</span>");
// -->
</script>
设为首页
<A href=# onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('url');">设为首页</A>
添加收藏
<A href="javascript:window.external.AddFavorite('url','title')">收藏本站</A>
文字滚动
插入边框为0的1行1列的表格,在表格中输入文字,选中文字,
按ctrl+t输入marquee direction="up", 回车即可让文字在表格区域内向上滚动。
(right、down可用于让文字或图象向右及向下滚动,修改html原代码还可以得到需要的滚动速度。
表单验正
<SCRIPT language=javascript>
function checkform(theform){
if(theform.name.value==""){
alert("姓名不能为空!");
theform.name.focus();
return false;
}
if(theform.tel.value==""){
alert("电话不能为空!");
theform.tel.focus();
return false;
}
}
</SCRIPT>
定义鼠标
body{cursor: url(cur.ani或cur);}
以图片方式插视频
<IMG height=240 loop=infinite dynsrc=http://amedia.efu.com.cn/EFUADD0001.rmvb width=320>
层在flash上面
< param name="wmode" value="opaque" >
延迟跳转
<meta http-equiv=refresh content='3; url=javascript:window.close();'>
导航条变色:
单元格<TR后面插入onmouseover="javascript:this.bgColor='#57AE00'" onmouseout="javascript:this.bgColor='#99CCFF'"
居中
<CENTER></CENTER>
空链接
javascript:;
标题表格
<fieldset>
<legend>表格的说明</legend>
</fieldset>
细线表格
style="BORDER-COLLAPSE: collapse;"
滚动条颜色代码
BODY{
SCROLLBAR-FACE-COLOR: #FFFFFF;
SCROLLBAR-HIGHLIGHT-COLOR: #FFFFFF;
SCROLLBAR-SHADOW-COLOR: #FFFFFF;
SCROLLBAR-3DLIGHT-COLOR: #FFCBC8;
SCROLLBAR-ARROW-COLOR: #FFFFFF;
SCROLLBAR-TRACK-COLOR: #FFFFFF;
SCROLLBAR-DARKSHADOW-COLOR: #FFCBC8;
SCROLLBAR-BASE-COLOR: #FFFFFF
}
连续的英文或者一堆感叹号!!!不会自动换行的问题
只要在CSS中定义了如下句子,可保网页不会再被撑开了
table{table-layout: fixed;}
td{word-break: break-all; word-wrap:break-word;}
注释一下:
1.第一条table{table-layout: fixed;},此样式可以让表格中有!!!(感叹号)之类的字符时自动换行。
2.td{word-break: break-all},一般用这句这OK了,但在有些特殊情况下还是会撑开,因此需要再加上后面一句{word-wrap:break-word;}就可以解决。此样式可以让表格中的一些连续的英文单词自动换行。
更多学习内容,可登陆: http:www.bluebird21st.bokee.com
【作者: 阿西叶】【访问统计: 14】【2005年12月28日 星期三 20:25】【 加入博采】【打印】
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=4029448
电脑知识应用技巧FAQ荟萃
★清除临时文件夹
问:我使用Windows XP系统,现在感觉系统的速度很慢,不知能不能在桌面建立一个快捷方式,双击这个快捷方式就可以达到清除临时文件中文件的目的?
答:你的想法很好,临时文件夹存放着一些临时文件。如果要实现双击快捷方式来
快速清理临时文件夹,我们需要动手编一段小程序。首先,在系统盘中建立一个文本文件。然后,打开这个文本文件并在其中输入这样的代码:
@echo off
del/f/q/s>nul"c:\Documents and Settings\当前用户名\Local Settings\temp\."
rd/s/q>nul"c:\Documents and Settings\当前用户名\Local Settings\temp"
md >nul"c:\Documents and Settings\当前用户名\Local Settings\temp"
最后,保存并退出文本文件,再将这个文本文件的扩展名由“txt”更改为“bat”,然后将它粘贴到桌面,以后你就可以通过双击这个图标来快速地实现临时文件的清除了。
★合理设置虚拟内存大小
问:经常看到关于页面文件设置的方法和技巧,众说纷纭、结论不一,那么到底该如何设置页面文件的大小呢,能不能详细地讲一下?
答:页面文件就是大家常说的虚拟内存的存在形式,虚拟内存的使用在很大程度上提高了系统的性能,它的工作原理是这样的:将内存中暂且(很短一段时间)不用的一部分数据以文件的形式存放到硬盘中,释放出来的部分物理内存去执行更重要的程序,这样暂时存放在硬盘中的这些文件就是页面文件的具体内容了。现在就有这样的一种情况:如果物理内存比较小,使用虚拟内存可以提高性能,但是大家知道,硬盘的数据读取速度远远慢于内存,所以,如果你的物理内存已经很大了(例如512MB、1024MB),此时你还将页面文件设置得很大的话,就会出现物理内存还剩余很多,还在使用页面文件,而同时又占用硬盘空间,此举无疑是一种变向的拖慢系统性能,对此,笔者推荐一个页面文件设置的标准:内存容量在256MB以下,虚拟内存设置为物理内存大小的1.5倍较适宜;当物理内存大小在512MB以上,设置为内存容量的一半比较合适;而介于256MB与512MB之间的设为与内存容量相同值则可,如果内存高达1GB以上,那就完全可以不需要设置虚拟内存交换文件了。
【作者: 冷风无声】【访问统计: 5】【2005年12月31日 星期六 08:49】【 加入博采】【打印】
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=4052942
网站构建的五个基本要素
日赚3500 王牌新闻网站的成功秘诀
这个网站每周7天每天24小时发布新闻,但是他不仅每天照常睡觉、吃饭,而且还有时间去海边晒太阳。
美国人马特.德鲁奇经营的《德鲁奇报道》http://www.drudgereport.com堪称因特网上最成功的个人新闻网站,因最早在网上披露克林顿总统
因特网上最有效率的网站
尽管其他新闻网站也在盈利,但它们却和《德鲁奇报道》的风格完全不同。比如《纽约时报》网络版2002年总共赚了830万美元,但是它有237名全职雇员,也就是说分到每个人头上只有大约3.5万美元。这还不考虑《纽约时报》网络版的内容事实上全都是由报纸的工作人员完成,网络版只是它的一个分支机构而已。
所以无论怎么算,《德鲁奇报道》都可能是因特网上最有效率的网站。《德鲁奇报道》网站包括老板德鲁奇在内总共只有两个人,也就是说每个人可以分到40万美元。
而且,德鲁奇不必离开他那套位于迈阿密的舒适公寓半步。没有新闻法的制约,也没有职业道德的束缚,他既是个体网虫,又是个体专栏作家,因特网就是天赐于他的最好的游泳池。他每天先做网虫,在网上新闻的海洋中遨游觅食,再利用所谓“政府内外的有关公民”每天提供的至少450条秘密消息大锅烩成《德鲁奇报道》,接着便在网上发布。
披露克林顿性丑闻一举成名
《德鲁奇报道》是从1995年开始创办的,当时德鲁奇注意到人们往Usenet(世界性的新闻组网络系统)上发的一些帖子中,经常有一些电视报纸所没有的独家新闻。“德鲁奇常会感慨那些传统媒体在报道突发事件的时候实在反应太慢”,著名个人电影网站《酷不酷》(Isn’t It Cool News)的创立者哈里·诺莱斯回忆说。“我记得德鲁奇当时跟我说,‘如果说有什么能摆平CNN(有线新闻网)的话,那就是因特网了!’”。
为了能成为因特网世界的巨人,德鲁奇认为他所需要的只不过是一个伊妹儿地址,一个网站。而他网站的读者则会成为他的义务记者,为他提供新闻线索。“德鲁奇和我意识到,我们的每个读者都是一个潜在的消息来源,”诺莱斯说。渐渐地,德鲁奇用这种方式积累了大量独家的网络新闻来源。
1998年1月18日,德鲁奇抢先披露了克林顿性丑闻。一周后,NBC(全国广播公司)像迎接贵宾那样将他迎进华盛顿,5个摄像组不离左右,他竟坐进美国历史最悠久、最富盛名的一周政治述评节目—“会见传媒”的演播室。在著名主持人蒂姆·拉西特的主持下,这位中学勉强毕业的“德鲁奇报道”专栏作家与极富盛名的《纽约时报》专栏作家威廉·萨菲尔和《国民新闻报》专栏作家斯图尔特·泰勒大侃“初在危机中的总统职位”这种话题,而这次节目的收视率竟也创下1991年海湾战争以来的最高点,《德鲁奇报道》从此名声大噪。
经常抢发独家新闻
直到现在,许多新闻从业人员依然把《德鲁奇报道》当作重要新闻来源。仅仅在过去的几个月中,《德鲁奇报道》就独家首发了“影视名流摄影大师赫伯.里兹去世”的消息(2002年12月),甚至还挖出了像“CNN首席执行官伊萨克森辞职”这样的猛料(2003年1月)。
“《德鲁奇报道》给人的感觉总是能爆出一些重大新闻,”纽约WABC电台的节目主管菲尔·波伊斯说。正是这个原因,许多忠实读者每天都会到《德鲁奇报道》去浏览10至15次之多,看看有无更新。
强大吸引力令《德鲁奇报道》的访问流量持续居高不下,也让许多在《德鲁奇报道》主页上作了友情链接的网站获益匪浅。比如,《烟枪》网站(Smoking Gun)的编辑巴斯顿说,“自从《德鲁奇报道》上出现了我们网站的链接之后,我们网站的访问流量一下子增加了足足3倍!”
相反,如果《德鲁奇报道》去掉了某个网站的链接,对于该网站来说无异于一场大灾难。隔周出版的《纽约新闻报》(New York Press)网络版就有过这方面的惨痛教训。2002年夏天,《纽约新闻》上登出了一篇批评《德鲁奇报道》的专栏文章。出于报复,《德鲁奇报道》立刻就去掉了网页上《纽约新闻》的友情链接,结果当天晚上,《纽约新闻》的访问流量就直线下跌了三分之一。
经济效益可观
正是在因特网上这种举足轻重的地位,给《德鲁奇报道》带来了可观的经济效益。负责为《德鲁奇报道》打理广告业务的是Intermarkets公司,该公司首席执行官凯文·卢西多说,《德鲁奇报道》的广告客户络绎不绝,未来数月的广告空间已经全部销售一空。据《商业2.0》周刊调查,在因特网上,《德鲁奇报道》网站的广告点击率排名第29位。
业内人士分析,像在《派拉蒙电影》乃至《纽约时报》这样的大型网站上登广告的广告客户,每1000次点击率通常要付费2美元,因此,即使把广告价格折扣这些因素考虑进去,按照《德鲁奇报道》网站的流量来计算,收入好的时候可以达到每天几乎5000美元。而除去一些必要的网站开支—诸如服务器、员工工资和广告公司费用等等,其余全部都是德鲁奇本人所有。《商业2.0》为《德鲁奇报道》算了一笔细帐:
《德鲁奇报道》的每月预算(单位:美元)
月收入:
广告 100000
月支出:
房租 3200
宽带网接入和其他办公开销 300
员工薪水 6000
服务器费用 2000
广告公司 20000
月净收入:68500
电子商务网站商业计划书