1.Linux源代码有多庞大一探究竟linux源码有多大
2.免费网页源代码网站(简单的源码网站源代码)
3.ç®å好ç©çç¼ç¨ä»£ç ï¼
4.AEX800开源 Asterisk 发展简史
Linux源代码有多庞大一探究竟linux源码有多大
Linux是当今最流行的操作系统之一,它使用着许多计算机系统,源码包括网络设备、源码服务器、源码个人电脑等等。源码有一件事众所周知,源码源码 母婴商城Linux的源码源代码非常庞大。因此,源码有人认为Linux不适合编译和开发,源码因为它的源码庞大体系结构使得人们无法理解和控制。
实际上,源码Linux的源码源代码比其他操作系统要庞大的多,尤其是源码比Windows等操作系统更加庞大。根据不同的源码发行版本,Linux的源码源代码的大小可以达到数百万行甚至数千万行。其中,Linux内核的源代码大小为万行,涉及到大量、非常复杂的数据结构和算法。
另外,Linux还涉及到大量的库和应用程序,这些库和应用程序的源代码数量也非常庞大,比如GCC工具链涉及到大约万行的源代码,火狐浏览器涉及到约万行源代码,LibreOffice涉及到约万行源代码,ant design源码解析GNOME桌面环境拥有数百万行源代码。而X Window系统的源代码更是达到了1.7亿行!
可以看出,Linux的源代码非常庞大,即便不考虑整个系统,仅考虑Linux内核本身,其源代码也会占据大量空间。然而,Linux的优势在于它拥有非常强大的可移植性和灵活性,可以使用同一套代码编译使用在各种平台上,极大地提高了开发的效率和稳定性。因此,Linux的源代码虽然庞大,但它的高灵活性、可移植性和稳定性就能让它充分发挥价值,令管理员和开发者们无需过多的操心即可完成工作。
免费网页源代码网站(简单的网站源代码)
哪里有免费的网址导航源代码,网站导航代码网址导航模板下载
网址导航站很多,可是真正具有代表性的主要有hao,万能导航网,,百度导航等
具体的是:
我也做了一个导航网站,主要是参考“万能导航网”来制作的
因为万能导航网是纯手工制作的导航网页
下载下来只需要改个头和尾就行了
求具有以下简单搜索功能的网页源代码
这里看看吧,目前可以免费提供使用。QQ:
主页:
懒汉搜索引擎简介
"懒汉搜索",shiro 密码比对源码是一款专门为全国行业网站、门户网站、电子商务网站定做的专业搜索引擎。它通过对网站数据库的数据建立索引,查询时不访问数据库,能有效减轻数据库和系统的压力,目前可以支持万级的数据,毫秒级的查询时间,每秒人的并发访问,从而实现大容量、高速的目标;可以适应linux和window平台,支持多种数据库接口,具备较强的兼容性;它具备通用搜索引擎的构架和功能,可以对用户的输入进行分词,可以进行多关键字搜索、关键词组合搜索、句子搜索,大大提高了用户操作的友好度;同时能够根据客户的需求进行用户的数据挖掘,提高网站系统的价值。
1.符合现代网民对搜索的惯性和依赖
据权威机构调查表明,.5%的网名使用过搜索引擎,.3%的网民经常使用搜索引擎。在信息爆发时代的今天,一级一级往下展开的红外遥控app源码栏目分类检索已经让网民失去了耐心,他们已经习惯使用搜索引擎来找他们感兴趣的东西,同时对搜索引擎的功能要求也越来越高。
这样用户进入一个网站之后,如果不能让用户方便的查找到他所需要的信息,他们也找不到熟悉的搜索输入框,他们会感到很陌生和意外,可能马上会离开,您的网站可能提供了很好的内容,但用户不习惯也没耐心去挖掘。
"懒汉搜索"根据客户的搜索,按照一个主题把所有相关文档提供给访问者,可以让访问者更全面的了解他所想要的东西,这增加了网站信息间的组织性和逻辑性,方便了访问者的使用,提升用户体验度。
2.多关键字组合、句子查询,达到毫秒级的速度
为了迎合大多数网民对搜索功能的惯性和依赖性,很多网站只好提供通过SQL语句查询数据库来实现一些简单的模糊匹配,但是这种"搜索"功能通常只能匹配一个关键字,匹配的数据库字段也非常有限。"懒汉搜索"不仅仅具备通用搜索引擎的构架和功能,同时可以对用户的输入进行分词,用户可以随便地输入一个或多个关键词,crysadm7.23源码甚至输入一句话,大大提高了用户操作的友好度。同时"懒汉搜索"在数据容量、查询速度、功能性、适用性、兼容性等方面也具有很高的专业水平。
3.查询不访问数据库,降到数据库负担,减轻系统压力
当用户直接查询数据库,不但查询速度慢,而且会导致数据库的压力增大,当数据库记录超过一定数量时,频繁地查询数据库,会导致数据库的负载直线上升,从而波及其它功能的使用,尤其是同时有很多用户访问的时候,对数据库和系统会产生较大的压力,严重时会导致信息塞车,甚至会导致系统崩溃。
"懒汉搜索"是一套真正的搜索引擎,它通过对数据库的数据进行索引,在查询时不访问数据库,可以实现毫秒级的检索速度和每秒上百次的并发访问,用户搜索对数据库的压力为零。
4.完善的统计功能,掌握用户需求,抓住市场动向
"懒汉搜索"还具备完善的统计功能,其日志功能能记录检索词和结果,可以统计一段时间内关键字的访问频度,列出前个热门关键字。让客户能较好能够把握其用户的需求,抓住市场动向,在当今信息万变的时代把握用户心理变化,创造最大的财富。
5.按关键字投放广告,实现网站盈利
广告是目前互联网盈利的最重要也是最直接的途径,网络广告也有着很好的发展前景。据Jupiter调研公司发布的一项研究报告指出,美国网络广告开支年将达到亿美元,占到广告开支总额的9%,而付费搜索将是主要动力,互联网搜索广告年已经超过了显示广告,搜索广告的大幅增长是由于新客户和广告商争夺广告位,这提高了价格。而且,随着搜索广告商的成熟,他们开始采用更多关键词,但盲目的投放广告,也可能会导致用户的反感,怎么办?只投放用户感兴趣的广告!"懒汉搜索"可以根据用户输入的关键字,自动匹配广告,让你的广告有的放矢,做到真正的分众!
6.迅速提高自己的技术门槛
有没有专业网站检索其实已经不只是用户体验度的问题了,还是一个网站专业身份的象征,也是网站所属公司形象的体现。浏览国外公司的网站,会发现几乎所有网站都在首页最明显的区域放置了一个搜索框,这传达的信息是:专业的网站都有专业网站检索。网民的心态是:我不能很快找到我需要的信息,甚至找不到我所需要的信息,那这个网站在我的心里根本就没有体验度和口碑了,你要是没有就说明你不够专业。所以为了树立形象,也需要用到专业网站检索。
同时另外一点最大的好处就是,具有一套为您打造的专业网站搜索引擎,您的网站就不会被同类网站轻松模仿,这是因为一般的模仿者是不会有实力开发或购买一套专业的搜索引擎系统的。这样自己作为先驱者积累出来的用户、技术、资金上面的优势能够体现出来,让您在互联网上能够抓住更多客户的心。
7.原理概述
"懒汉搜索"引擎通过嵌入到企业网站中,具有较好的移植性,可通过远程的安装调试,使系统正常并良好的运行。不会影响企业原有的网站运行,原有网站基本上也不需要改动。
"懒汉搜索"引擎不需要中转数据库,站内数据库的数据加载自动完成,同时在后期具备实时性的主动更新方式,可以设置更新时间少于分钟。同时维护非常简单,安装完之后,所有操作(包括数据初始化、动态更新等)会自动完成,每天都会生成统计报表,不需要人工干预,整个过程简单,方便。
有谁知道网络电视的网页代码啊!!!ma网络电视,
代码一:
script
varw='';//宽度
varh='';//高度
vars='yes';//是否显示滚动条,yes显示,no不显示
document.write('iframewidth='+w+'height='+h+'src=""frameborder=0border=0marginwidth=0marginheight=0scrolling='+s+'/iframe');
/script
代码二(单独频道调用,如江苏卫视):
iframesrc=""height=""width=""frameborder="0"marginwidth="0"marginheight="0"scrolling="no"/iframe
单独频道调用pid获取地址:
如嫌麻烦,也可直接使用下面这个调用电视代码,可以设置网络电视的宽度()和高度():
iframeid=TVname=TVframeborder=0scrolling=nosrc=width=height=/iframe
怎么查看网页的源文件工具/原材料
IE8浏览器、电脑。
1、打开电脑在桌面上找到并点击IE8浏览器,IE7浏览器的操作也是类似步骤;
2、点击进入浏览器主页以后,选择并点击你要查看网页源代码的网站,这里以新华网为例;
3、点击进入新华网以后,在任意的空白部位点击鼠标右键,在下拉选项中选择“查看源”;
4、点击选择查看源以后,在最右边的标记的红色框中就是网页的源代码。
ç®å好ç©çç¼ç¨ä»£ç ï¼
ç«é ·çç¼ç¨ä»£ç
ç«é ·çç¼ç¨ä»£ç æ¯@echooffmodeconcols=lines=colorsetlocalenabledelayedexpansionsetcode=abcdefsetm=1setv=1ã
ç¼å®ç¨åºï¼ç®ç§°ç¼ç¨ï¼æ¯æ让计ç®æºä»£ä¸ºè§£å³æ个é®é¢ã对æ个计ç®ä½ç³»è§å®ä¸å®çè¿ç®æ¹å¼ï¼ä½¿è®¡ç®ä½ç³»æç §è¯¥è®¡ç®æ¹å¼è¿è¡ï¼å¹¶æç»å¾å°ç¸åºç»æçè¿ç¨ã
ç¼ç¨å°±æ¯ä¸ºäºåå©äºè®¡ç®æºæ¥è¾¾å°æä¸ç®çæ解å³æ个é®é¢ï¼è使ç¨æç§ç¨åºè®¾è®¡è¯è¨ç¼åç¨åºä»£ç ï¼å¹¶æç»å¾å°ç»æçè¿ç¨ã计ç®æºè½ç¶åè½åå强大ï¼å¯ä»¥ä¸ç½ãç©æ¸¸æã管çå ¬å¸äººäºå ³ç³»ççãä½æ¯æ²¡æç¨åºï¼å®å°±çäºæ¯ä¸å åºéï¼ä¸ä¼çä¼æ们对å®ä¸è¾¾çâå½ä»¤âã
ç¼ç¨è¯è¨ä»ç»
使ç¨æ±ç¼è¯è¨ç¼å计ç®æºç¨åºï¼ç¨åºåä»ç¶éè¦ååçæ计ç®æºç³»ç»ç硬件ç»æï¼æ以ä»ç¨åºè®¾è®¡æ¬èº«ä¸æ¥çä»ç¶æ¯ä½æççãç¦ççãä½æ£æ¯ç±äºæ±ç¼è¯è¨ä¸è®¡ç®æºç¡¬ä»¶ç³»ç»å ³ç³»å¯åï¼å¨æäºç¹å®çåºåï¼å¦å¯¹æ¶ç©ºæçè¦æ±å¾é«çç³»ç»æ ¸å¿ç¨åºä»¥åå®æ¶æ§å¶ç¨åºçï¼è¿ä»ä¸ºæ¢æ±ç¼è¯è¨ä»ç¶æ¯ååææçç¨åºè®¾è®¡å·¥å ·ã
使ç¨é«çº§è¯è¨ç¼åç¨åºçä¼ç¹æ¯ï¼ç¼ç¨ç¸å¯¹ç®åãç´è§ãæç解ãä¸å®¹æåºéãé«çº§è¯è¨æ¯ç¬ç«äºè®¡ç®æºçï¼å èç¨é«çº§è¯è¨ç¼åç计ç®æºç¨åºéç¨æ§å¥½ï¼å ·æè¾å¥½ç移æ¤æ§ã
å¨è®¡ç®æºåºç¨çåæï¼ç¨åºå使ç¨æºå¨çæ令系ç»æ¥ç¼å计ç®æºåºç¨ç¨åºï¼è¿ç§ç¨åºç§°ä¸ºæºå¨è¯è¨ç¨åºã
æ±è¡ç®åCè¯è¨ç¨åºä»£ç ï¼åºç¡ç就好
#includestdio.h
#includestdlib.h
#defineNUM
/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/
//å泡æåºç®æ³
//åºæ¬ææ³ï¼æ¯è¾ç¸é»ç两个æ°ï¼å¦æåè æ¯åè 大ï¼åè¿è¡äº¤æ¢ãæ¯ä¸è½®æåºç»æï¼éåºä¸ä¸ªæªæåºä¸æ大çæ°æ¾å°æ°ç»åé¢ã
voidbubbleSort(int*arr,intn){
inti,j;
for(i=0;in-1;i++)
for(j=0;jn-i-1;j++){
//å¦æåé¢çæ°æ¯åé¢å¤§ï¼è¿è¡äº¤æ¢
if(arr[j]arr[j+1]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//æå·®æ¶é´å¤æ度为O(n^2),å¹³åæ¶é´å¤æ度为O(n^2)ã稳å®æ§ï¼ç¨³å®ãè¾ å©ç©ºé´O(1)ã
//å级çå泡æåºæ³ï¼éè¿ä»ä½å°é«éåºæ大çæ°æ¾å°åé¢ï¼åä»é«å°ä½éåºæå°çæ°æ¾å°åé¢ï¼
//å¦æ¤åå¤ï¼ç´å°å·¦è¾¹çåå³è¾¹çéåãå½æ°ç»ä¸æå·²æåºå¥½çæ°æ¶ï¼è¿ç§æåºæ¯ä¼ ç»å泡æåºæ§è½ç¨å¥½ã
//å级çå泡æåºç®æ³
voidbubbleSort_1(int*arr,intn){
//设置æ°ç»å·¦å³è¾¹ç
intleft=0,right=n-1;
//å½å·¦å³è¾¹çæªéåæ¶ï¼è¿è¡æåº
while(left=right){
inti,j;
//ä»å·¦å°å³éåéåºæ大çæ°æ¾å°æ°ç»å³è¾¹
for(i=left;iright;i++){
if(arr[i]arr[i+1]){
inttemp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
right--;
//ä»å³å°å·¦éåéåºæå°çæ°æ¾å°æ°ç»å·¦è¾¹
for(j=right;jleft;j--){
if(arr[j+1]arr[j]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
left++;
}
}
intmain(intargc,char*argv[]){
intarr[NUM],i,j,temp;
printf("请è¾å ¥ä¸ªæ°ï¼\n");
for(i=0;iNUM;i++){
printf("请è¾å ¥ç¬¬(%d)个æ°ï¼",i+1);
scanf("%d",arr[i]);
}
printf("\nè¾å ¥å¦ä¸æåï¼\n");
for(i=0;iNUM;i++){
printf("%4d",arr[i]);
}/
*for(i=0;iNUM;i++){
for(j=i+1;jNUM;j++){
if(arr[i]arr[j]){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}*/
bubbleSort_1(arr,NUM);
/*printf("\nä»å°å°å¤§å¦ä¸æåï¼\n");
for(i=0;iNUM;i++){
printf("%4d",arr[i]);
}*/
printf("\nä»å¤§å°å°å¦ä¸æåï¼\n");
for(i=NUM-1;i=0;i--){
printf("%4d",arr[i]);
}
return0;
}
é便ç»æä¸ä¸ªç¼ç¨ä»£ç 带ææ谢谢main()?
{ ?
inti,j,k;?
printf("\n");?
for(i=1;i5;i++)ï¼*以ä¸ä¸ºä¸é循ç¯*/
for(j=1;j5;j++)
for(k=1;k5;k++)
{
if(i!=ki!=jj!=k)/*ç¡®ä¿iãjãkä¸ä½äºä¸ç¸å*/
printf("%d,%d,%d\n",i,j,k);
}?
}
1ã代ç 解éï¼ä»¥ä¸è¿æ®µä»£ç æ¯ç¨Cè¯è¨ååºæ¥ç代ç ï¼ä»æ解å³çé®é¢æ¯ï¼æ1ã2ã3ã4个æ°åï¼è½ç»æå¤å°ä¸ªäºä¸ç¸åä¸æ éå¤æ°åçä¸ä½æ°ï¼é½æ¯å¤å°ï¼?å¯å¡«å¨ç¾ä½ãåä½ã个ä½çæ°åé½æ¯1ã2ã3ã4ãç»æææçæåååå»?æä¸æ»¡è¶³æ¡ä»¶çæåã
2ãCè¯è¨ä»ç»ï¼Cè¯è¨æ¯ä¸é¨éç¨è®¡ç®æºç¼ç¨è¯è¨ï¼åºç¨å¹¿æ³ãCè¯è¨ç设计ç®æ æ¯æä¾ä¸ç§è½ä»¥ç®æçæ¹å¼ç¼è¯ãå¤çä½çº§åå¨å¨ã产çå°éçæºå¨ç 以åä¸éè¦ä»»ä½è¿è¡ç¯å¢æ¯æ便è½è¿è¡çç¼ç¨è¯è¨ã
3ãCè¯è¨çä¼ç¹ï¼ç®æ´ç´§åãçµæ´»æ¹ä¾¿ãè¿ç®ç¬¦ä¸°å¯ãæ°æ®ç»æ丰å¯ãCæ¯ç»æå¼è¯è¨ãCè¯æ³éå¶ä¸å¤ªä¸¥æ ¼ãç¨åºè®¾è®¡èªç±åº¦å¤§ï¼ä¸è¬çé«çº§è¯è¨è¯æ³æ£æ¥æ¯è¾ä¸¥ï¼è½å¤æ£æ¥åºå ä¹ææçè¯æ³é误ãèCè¯è¨å 许ç¨åºç¼åè æè¾å¤§çèªç±åº¦ãCè¯è¨ç¨åºçæ代ç è´¨éé«ï¼ç¨åºæ§è¡æçé«ï¼ä¸è¬åªæ¯æ±ç¼ç¨åºçæçç®æ 代ç æçä½ã¸%ã
4ãå ¶ä»ç¼ç¨è¯è¨ä»ç»ï¼Python(è±å½åé³:/?pa?θ?n/ç¾å½åé³:/?pa?θÉ?n/),æ¯ä¸ç§é¢å对象ç解éå计ç®æºç¨åºè®¾è®¡è¯è¨ï¼ç±è·å °äººGuidovanRossumäºå¹´åæï¼ç¬¬ä¸ä¸ªå ¬å¼åè¡çåè¡äºå¹´ãPythonæ¯çº¯ç²¹çèªç±è½¯ä»¶ï¼?æºä»£ç å解éå¨CPythonéµå¾ªGPL(GNU?GeneralPublicLicense)åè®®ãPythonè¯æ³ç®æ´æ¸ æ°ï¼ç¹è²ä¹ä¸æ¯å¼ºå¶ç¨ç©ºç½ç¬¦(whitespace)ä½ä¸ºè¯å¥ç¼©è¿ã
pythonæ趣çç¼ç¨ä»£ç class?Point:
row=0col=0def?__init__(self,?row,?col):self.row=row
self.col=col
def?copy(self):return?Point(row=self.row,?col=self.col)
#åå§æ¡æ¶
import?pygame
import?random
#åå§å
pygame.init()
W=
H=
ROW=
COL=
size=(W,H)
window=pygame.display.set_mode(size)
pygame.display.set_caption('è´ªåè')
bg_color=(,,)
snake_color=(,,)
head=Point(row=int(ROW/2),?col=int(COL/2))
head_color=(0,,)
snakes=[
Point(row=head.row,?col=head.col+1),Point(row=head.row,?col=head.col+2),Point(row=head.row,?col=head.col+3)]
#çæé£ç©
def?gen_food():
while?1:pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))
#
is_coll=False
#æ¯å¦è·è碰ä¸äº
if?head.row==pos.row?and?head.col==pos.col:
is_coll=True#è身å
for?snake?in?snakes:
if?snake.row==pos.row?and?snake.col==pos.col:is_coll=True
break
if?not?is_coll:
breakreturn?pos#å®ä¹åæ
food=gen_food()
food_color=(,,0)
direct='left'#left,right,up,down
#
def?rect(point,?color):
cell_width=W/COLcell_height=H/ROWleft=point.col*cell_widthtop=point.row*cell_heightpygame.draw.rect(window,?color,
(left,?top,?cell_width,?cell_height)
)pass#游æ循ç¯
quit=True
clock=pygame.time.Clock()
while?quit:
#å¤çäºä»¶for?event?in?pygame.event.get():if?event.type==pygame.QUIT:
quit=Falseelif?event.type==pygame.KEYDOWN:
if?event.key==?or?event.key==:if?direct=='left'?or?direct=='right':
direct='up'elif?event.key==?or?event.key==:if?direct?==?'left'?or?direct?==?'right':
direct='down'elif?event.key==?or?event.key==:if?direct?==?'up'?or?direct?==?'down':
direct='left'elif?event.key==?or?event.key==:if?direct?==?'up'?or?direct?==?'down':
direct='right'#åä¸è¥¿eat=(head.row==food.row?and?head.col==food.col)#éæ°äº§çé£ç©if?eat:food?=?gen_food()
#å¤ç身å#1.æåæ¥ç头ï¼æå ¥å°snakesç头ä¸snakes.insert(0,?head.copy())#2.æsnakesçæåä¸ä¸ªå æif?not?eat:snakes.pop()
#移å¨if?direct=='left':head.col-=1
elif?direct=='right':head.col+=1
elif?direct=='up':head.row-=1
elif?direct=='down':head.row+=1
#æ£æµdead=False#1.æå¢if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:dead=True
#2.æèªå·±for?snake?in?snakes:if?head.col==snake.col?and?head.row==snake.row:
dead=Truebreakif?dead:print('æ»äº')
quit=False
#渲æââç»åºæ¥#èæ¯pygame.draw.rect(window,?bg_color,?(0,0,W,H))#è头for?snake?in?snakes:rect(snake,?snake_color)
rect(head,?head_color)rect(food,?food_color)#pygame.display.flip()#设置帧é¢ï¼é度ï¼clock.tick(8)#æ¶å°¾å·¥ä½
è¿æ¯ä¸ä¸ªç®æçè´ªåèç代ç ï¼è½ç¶ç»æç®åï¼ä½æ¯è¯¥æçåè½é½æ¯å®æ´çï¼å¯ç©æ§ä¹ä¸é
cè¯è¨ç¼ç¨çè±ä»£ç ç®åcè¯è¨ç¼ç¨çè±ä»£ç ç®åå¦ä¸ï¼
#include"stdlib.h"
#include"graphics.h"
#include"stdio.h"
#include"math.h"
#include"conio.h"
#definePI?3.
main()
{
intgdriver=DETECT,gmode,errorcode;
inta[],b[],x,y,c,r,i,j,t;
doublerad=0.0;
/*initializegraphicsandlocalvariables*/
initgraph(gdriver,gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!=grOk)?/*anerroroccurred*/
{
printf("Graphicserror:%s/n",grapherrormsg(errorcode));
printf("Pleaseanykeytohalt:");
getch();
exit(1);?/*terminatewithanerrorcode*/
}
randomize();
for(;!kbhit();)
{
x=rand()%+;/*éæºä¸å¿åæ */
y=rand()%+;
for(r=0;r=8;r++?)?/*çè±ç大å°è®¾å®*/
{
for(i=0,rad=0.0;rad2*PI;rad+=0.)?/*设å®åæ */
{
a[i++]=x+(int)r**cos(rad);
b[i]=y+(int)r**sin(rad);
}
t=i;
for(i=1;it;i++)
{
c=rand()%+1;/*åç¹çé¢è²éæº*/
setcolor(c);/*åè½:å°å½åå¾å½¢å±å¹çå½åç¬ç»é¢è²ç½®ä¸ºcolor.*/
circle(a[i],b[i],1);/*a[i],b[i]为åå¿1为åå¾ç»å*/
}
delay();
delay();
cleardevice();
å½æ°å:cleardevice?
å?è½:æ¸ é¤å¾å½¢å±å¹?
ç¨?æ³:voidfarcleardevice(void);
}
}
getch();
closegraph();
å½æ°å:closegraph
å?è½:å ³éå¾å½¢ç³»ç»
ç¨?æ³:voidfarclosegraph(void);
}
åå§åçè±åæ°
voidInit(inti)
{
//åå«ä¸ºï¼çè±ä¸å¿å°å¾çè¾¹ç¼çæè¿è·ç¦»ãçè±ä¸å¿å°å¾çå·¦ä¸è§çè·ç¦»(xãy)两个åé
intr[]={ ,,,,,,,,,,,,};
intx[]={ ,,,,,,,,,,,,};
inty[]={ ,,,,,,,,,,,,};
/****åå§åçè±*****/
Fire[i].x=0;//çè±ä¸å¿åæ
Fire[i].y=0;
Fire[i].width=;//å¾ç宽
Fire[i].height=;//å¾çé«
Fire[i].max_r=r[i];//æ大åå¾
Fire[i].cen_x=x[i];//ä¸å¿è·å·¦ä¸è§è·ç¦»
Fire[i].cen_y=y[i];
Fire[i].show=false;//æ¯å¦ç»½æ¾
Fire[i].dt=5;//绽æ¾æ¶é´é´é
Fire[i].t1=timeGetTime();
Fire[i].r=0;//ä»0å¼å§ç»½æ¾
/****åå§åçè±å¼¹*****/
Jet[i].x=-;//çè±å¼¹å·¦ä¸è§åæ
Jet[i].y=-;
Jet[i].hx=-;//çè±å¼¹åå°æé«ç¹åæ
Jet[i].hy=-;
Jet[i].height=0;//åå°é«åº¦
Jet[i].t1=timeGetTime();
Jet[i].dt=rand()%;//åå°é度æ¶é´é´é
Jet[i].n=0;//çè±å¼¹éªçå¾çä¸æ
Jet[i].shoot=false;//æ¯å¦åå°
}
AEX开源 Asterisk 发展简史
Asterisk,一款备受瞩目的开源电话项目,自年成立以来,凭借其免费且开放源码的特性,已经成为了全球范围内最受欢迎的语音通信服务器软件。由Mark Spencer领导的Digium, Inc公司推动了Asterisk的发展,得益于全球开源软件工程师的贡献,其用户数量已超过两百万。Asterisk的强大之处在于其广泛的支持范围,无论是传统的模拟线路(如ISDN-BRI)、数字T1/E1链路,还是VoIP协议如SIP、IAX和H.,它都能无缝处理和传输语音,适应企业级的电话信号标准,还能与现有的语音系统无缝对接未来的语音-数据系统。
Asterisk基于GNU General Public License(GPL)发布,意味着用户可以免费获取和使用。作为开源社区的重要一员,Asterisk在VoIP技术的发展中扮演了关键角色。特别值得一提的是,Asterisk并不需要额外的硬件支持,只需连接互联网和各种数字或模拟电话设备。其中,Asterisk的创始人Digium提供了系列的硬件设备,如AEX卡件,这些设备丰富了Asterisk的硬件兼容性,使得其在VoIP应用中更加灵活和实用。