腳本語言原理
❶ 請問計算機腳本語言的優點是什麼和高級語言有何分別
現在有超過2500種有文檔資料的計算機語言,
計算機語言:計算機語言通常是一個能完整、准確和規則地表達人們的意圖,並用以指揮或控制計算機工作的「符號系統」。
計算機語言通常分為三類:即機器語言,匯編語言和高級語言。 (了解內容一)
1. 機器語言
機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。現在,除了計算機生產廠家的專業人員外,絕大多數程序員已經不再去學習機器語言了。
2.匯編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號「+」的機器代碼),於是就產生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。匯編語言由 於是採用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
匯編語言中由於使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的「匯編程序「的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
匯編語言像機器指令一樣,是硬體操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統軟體和過程式控制制軟體,其目標程序佔用內存空間少,運行速度快,有著高級語言不可替代的用途。
3.高級語言
不論是機器語言還是匯編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。這種與自然語言相近並為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
1.腳本語言(javaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。
HTML通常用於格式化和鏈結文本。
而編程語言通常用於向機器發出一系列復雜的指令。
2.腳本語言與編程語言也有很多相似地方,其函數與編程語言
比較相象一些,其也涉及到變數。與編程語言之間最大的區別
是編程語言的語法和規則更為嚴格和復雜一些.
3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。
註:腳本語言一般都有相應的腳本引擎來解釋執行。
腳本語言具有下列優勢:
快速開發:腳本語言極大地簡化了「開發、部署、測試和調試」的周期過程。
容易部署:大多數腳本語言都能夠隨時部署,而不需要耗時的編譯/打包過程。
同已有技術的集成:腳本語言被Java或者COM這樣的組件技術所包圍,因此能夠有效地利用代碼。
易學易用:很多腳本語言的技術要求通常要低一些,因此能夠更容易地找到大量合適的技術人員。
動態代碼:腳本語言的代碼能夠被實時生成和執行,這是一項高級特性,在某些應用程序里(例如JavaScript里的動態類型)是很有用也是必需的。
機器語言是是由0和1組成的,其他語言都是不是,都是文本形式的
參考資料:http://www.oreilly.com
❷ 如何寫腳本語言
一般系統學過ASP的編程人員都會切身體會到:在系統學習ASP的內置對象和內置組件之前,學會腳本語言永遠是至關重要的。
為什麼這么說呢?為什麼要學腳本語言呢?ASP和腳本語言又有什麼關系呢?
首先說說ASP是貴為何物吧。ASP是Microsoft Active Server Pages的簡稱,它是一種伺服器端腳本環境,可用來創建互動式 Web 頁並建立強大的 Web 應用程序。可以表明ASP是一種基於伺服器端的腳本環境,那就明白ASP為什麼需要IIS支持了,因為IIS即為常用的一類web伺服器;那也就明白為什麼要學腳本語言了,因為ASP提供的是一種腳本環境。
再次需要說明的是,ASP只是一種環境,而非一種語言。如果真要形象化地說是ASP是網路編程語言的話,那也是屬於一個html+腳本+asp提供的內置對象及組件的功能強大的混合語言。
所以,學點腳本非常重要!其實無論是學腳本語言,還是其它語言,我認為首先需要了解的是該語言涵蓋的各類特性,包括:數據類型、事件、方法、 對象、屬性、語法等當然這都是些空談,正如在大學課堂上的某計算機語言課一樣,搞純研究性的就是覺得有些索而無味。還是實用些的好,能解決問題的程序才是好程序(印證能逮到老鼠的貓就是好貓的經典聖語,呵呵)。
當然,語言這東西還是要你去好好鑽研的,比如你寫求絕對值的程序,其實一個abs()函數就搞定了。再比如你會vb腳本,但把同樣程序替換成java腳本就會出錯,它們的數據類型不同,語句語法也不一樣啊。正如說中文和外文一樣,要會發音標(數據類型),會如何發音(方法),如何說成一句話(語法)……呵呵,有點讓你難受吧。行!直接了當。你以後需要注意的是語言的函數、語法。當然也不是讓你全看,按照教程中的遇到一個掌握一個。教程學完,差不多也結束了。呵呵,你要相信我。
目前有兩種主要的腳本語言:VbScript和javascript。因為VbScript作為IIS默認的伺服器腳本,所以我們所談所學的基本是圍繞VbScript為腳本的ASP的,當然也不排除有的時候使用javascript.
舉一個很簡單的例子:
<script language="vbscript">
<!--
sub button1_onclick
msgbox (" 歡迎使用vbscript! " )
end sub
-->
</script>
<script language="javascript">
<!--
function b213()
{
alert("歡迎使用javascript!")
}
-->
</script>
<form>
<input type="button" name="button1" value="vbs"><br>
<input type="button" name="button2" value="js" onclick="b213()">
</form>
vbscript中的Sub 就是一個事件過程。過程名包含兩部分:一部分為按鈕名,即 Button1(從 < INPUT > 標記中的 NAME 屬性獲取);另一部分為事件名,即 OnClick。兩部分由下劃線 (_) 連接。單擊按鈕時,Internet Explorer 查找並運行相應的事件過程,即 Button1_OnClick,而MsgBox 就是一個函數,對於它更具體的參數,你就好好看下了。
一時來勁,可能大家都看到網上有種狂惡心的對話框組,原理是什麼呢?請看:
<script language="vbscript">
msgbox"你知道你會點確定的。。。。。。。"
msgbox"不點也要點。。。。。。。。"
msgbox"沒辦法是吧。。。。。。。。。。?"
msgbox"要不網頁打不開啊。。。。。。"
msgbox"這招損人吧。。。。。。。。。"
msgbox"真想揍揍站長。。。。。。。。。"
</script>
其實站長用這些玩弄別人的時候,先玩弄了自己:因為這都是他想出來的啊:)
呵呵,我沒有損大家的意思,只是為了學習。
在來個開頁和退頁彈出對話框的原理吧!
<script language="vbscript">
<!--
sub window_onload()
msgbox"welcome you!"
end sub
sub window_onunload()
msgbox"see you late!"
end sub
-->
</script>
開頁顯示「welcome you!」,關頁顯示「see you late!」
以上只是一個顯示對話框msgbox,當然還有書寫對話框inputbox也�%
❸ 網頁腳本運行原理
js 是客戶端腳本語言,頁面運行後已經是靜態化了,即已經在你的系統臨時文件夾之中已經存在了。因此通過JS修改,無非就是一個靜態化的更改你所看到的東西!
換句話說JS也就是相當於我們的C/S系統一樣的道理。
❹ 腳本是什麼原理為什麼用記事本輸入特定的文本就能控制電腦完成某些工作
我的理解是——一種語言
只要運行該腳本,電腦就會根據你編寫的語言即腳本執行一些命令
像這個:
Set WshShell= WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "與 AAAA 聊天中"
for i=1 to 35
WScript.Sleep 700
WshShell.SendKeys "^v"
WshShell.SendKeys i
WshShell.SendKeys "%s"
Next
這段語言的作用就是對正在與你聊天的人進行qq刷屏
for i=1 to 35 這句就是刷屏的次數
只要你事先復制你想說的話在運行這個腳本便可進行刷屏
其實萬流歸宗腳本都是這樣的
只要弄懂語言便沒太大的難度了
❺ 運行腳本的腳本原理
Linux系統的shell作為操作系統的外殼,為用戶提供使用操作系統的介面。它是命令語言、命令解釋程序及程序設計語言的統稱。shell是用戶和Linux內核之間的介面程序,如果把Linux內核想像成一個球體的中心,shell就是圍繞內核的外層。當從shell或其他程序向Linux傳遞命令時,內核會做出相應的反應。 shell是一個命令語言解釋器,它擁有自己內建的shell命令集,shell也能被系統中其他應用程序所調用。用戶在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。
❻ cgi腳本語言是什麼
CGI:Common Gateway Interface
CGI代表Common Gateway Interface(通用網關界面),它使在網路伺服器下運行外部分應用程序(或網關)成為可能。CGI-BIN 目錄是存放CGI腳本的地方。這些腳本使WWW伺服器和瀏覽器能運行外部程序,而無需啟動另一個原因程序。
它是運行在Web伺服器上的一個程序,並由來自於瀏覽者的輸人觸發。CGI是在HTTP伺服器下運行外部程序(或網關)的一個介面,它能讓網路用戶訪問遠程系統上的使用類型程序,就好像他們在實際使用那些遠程計算機一樣。
CGI能夠讓瀏覽者與伺服器進行交互,如果你曾經遇到過在網路上填表或者進行搜索,就很有可能就是用的CGI。
盡管CGI易於使用,但是當大批人同時使用一個CGI應用程序是會反應較慢,網路伺服器 速度也會受到很大 影響。CGI應用程序的優點是可以獨立運行。
CGI應用程序可以由大多數的編程語言編寫,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。不過對於那些沒有太多編程經驗的網頁製作人來說,實在是一個不小的難題。
CGI應用程序的工作原理是這樣的:
1.瀏覽器通過HTML表單或超鏈接請求指上一個CGI應用程序的URL。
2.伺服器收發到請求。
3.伺服器執行指定所CGI應用程序。
4.CGI應用程序執行所需要的操作,通常是基於瀏覽者輸人的內容。
5.CGI應用程序把結果格式化為網路伺服器和瀏覽器能夠理解的文檔(通常是HTML網頁)。
6.網路伺服器把結果返回到瀏覽器中。
有關CGI應用程序要注意的是:
CGI應用程序運行在瀏覽器可以請求的伺服器系統上,執行時需要使用伺服器CPU時間和內存。如果有成千上萬的這種程序會同時運行,那會對伺服器系統提出極高的要求。你要慎重考慮這個問題,以防止伺服器系統崩潰。
不完善的CGI應用程序可能成為別人非法進人伺服器系統的通道,有可能導致重要的資料被刪除或外泄。
CGI應用程序主要的用途有以下幾種:
根據瀏覽者填寫的HTML表單發送定製的答復。
創建可單擊的圖像縮小圖。
創建一個瀏覽者可以搜索內容的資料庫。
提供伺服器與資料庫的介面,並把結果轉換成HTML文檔。
製作動態HTML文擋。
如果一個CGI腳本可以在每台計算機上做同樣的事情;編寫腳本就會變的很容易。不幸的是,CGI腳本依賴於伺服器的操作系統,因此,對於非UNIX伺服器來說,Prl(UNIX下編寫腳本的一個常用工具)腳本毫無用處。所以,你必須定製安裝你的CGI腳本。
大多數伺服器都提供CGI-BIN目錄,但是這還不夠。因為你應該擁有自己的CGI-BIN。這樣,你就能運行自己的腳本(而不是讓自己的系統去適應已存在於系統上的腳本)。因此,你的提供商應安裝CGI-BIN,且能夠幫助你編寫腳本
❼ 什麼叫腳本,幹嘛用的,哪裡用到啊,要自己編寫代碼還是系統自己生成啊!
feiwangwangfei你好!
簡單點說,腳本就是簡單的語言程序。腳本類別很多,最普通的有系統的腳本程序,網頁的腳本程序,就連word文檔也可以編寫腳本。這些腳本主要是實現一些簡單的功能。就拿windos腳本來說吧,比如我想實現定時關機可以用txt寫個shutdown -s -t 60 然後保存為bat文件。那麼這個bat文件就是個腳本了。每次運行它系統就會在1分鍾後關機。
顯然腳本是人為實現的。系統當然可以生成腳本,但歸根到底那也是人為地要求系統在特定的時刻生成某個特定功能的腳本。
如果你對編程或者系統的命令提示符不了解的話,我這么說你可能也不明白。如果你真想去了解它建議你認真看點關於腳本方面的書。畢竟這腳本語言還是挺實用的!
以上純屬個人意見,希望對你有所幫助^_^!
❽ 手機游戲腳本是什麼原理
腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。
每個游戲的腳本位置會有不同。
你說的要改編單機模式,那個是游戲源代碼,
有了代碼才可以把你玩的游戲改編,所以游戲代碼很值錢的!
游戲整個就是靠語言代碼編譯來完成的。
❾ 腳本語言的多態是如何實現
多態是一種不同的對象以單獨的方式作用於相同消息的能力,這個概念是從自然語言中引進的。例如,動詞「關閉」應用到不同的事務上其意思是不同的。關門,關閉銀行賬號或關閉一個程序的窗口都是不同的行為;其實際的意義取決於該動作所作用的對象。
大多數面向對象語言的多態特性都僅以虛擬函數的形式來實現,但C++除了一般的虛擬函數形式之外,還多了兩種靜態的(即編譯時的)多態機制:
2、模板:例如,當接受到相同的消息時,整型vector對象和串vector對象對消息反映是不同的,我們以關閉行為為例:
vector < int > vi; vector < string > names; string name("VC知識庫");
vi.push_back( 5 ); // 在 vector 尾部添加整型
names.push_back (name); // 添加串和添加整型體現差別的潛在的操作
靜態的多態機制不會導致與虛擬函數相關的運行時開。此外,操作符重載和模板兩者是通用演算法最基本的東西,在STL中體現得尤為突出。 那麼接下來我們說說以虛函數形式多態: 通常都有以重載、覆蓋、隱藏來三中方式,三種方式的區別大家應該要很深入的了解,這里就不多說了。 許多開發人員往往將這種情況和C++的多態性搞混淆,下面我從兩方面為大家解說: 1、 編譯的角度 C++編譯器在編譯的時候,要確定每個對象調用的函數的地址,這稱為早期綁定(early binding)。2、 內存模型的角度為了確定對象調用的函數的地址,就要使用遲綁定(late binding)技術。當編譯器使用遲綁定時,就會在運行時再去確定對象的類型以及正確的調用函數。而要讓編譯器採用遲綁定,就要在基類中聲明函數時使用virtual關鍵字(注意,這是必須的,很多開發人員就是因為沒有使用虛函數而寫出很多錯誤的例子),這樣的函數我們稱為虛函數。一旦某個函數在基類中聲明為virtual,那麼在所有的派生類中該函數都是virtual,而不需要再顯式地聲明為virtual。 那麼如何定位虛表呢?編譯器另外還為每個類的對象提供了一個虛表指針(即vptr),這個指針指向了對象所屬類的虛表。在程序運行時,根據對象的類型去初始化vptr,從而讓vptr正確的指向所屬類的虛表,從而在調用虛函數時,就能夠找到正確的函數。 正是由於每個對象調用的虛函數都是通過虛表指針來索引的,也就決定了虛表指針的正確初始化是非常重要的。換句話說,在虛表指針沒有正確初始化之前,我們不能夠去調用虛函數。那麼虛表指針在什麼時候,或者說在什麼地方初始化呢? 答案是在構造函數中進行虛表的創建和虛表指針的初始化。還記得構造函數的調用順序嗎,在構造子類對象時,要先調用父類的構造函數,此時編譯器只「看到了」父類,並不知道後面是否後還有繼承者,它初始化父類對象的虛表指針,該虛表指針指向父類的虛表。當執行子類的構造函數時,子類對象的虛表指針被初始化,指向自身的虛表。 要注意:對於虛函數調用來說,每一個對象內部都有一個虛表指針,該虛表指針被初始化為本類的虛表。所以在程序中,不管你的對象類型如何轉換,但該對象內部的虛表指針是固定的,所以呢,才能實現動態的對象函數調用,這就是C++多態性實現的原理。總結(基類有虛函數):1、 每一個類都有虛表。2、虛表可以繼承,如果子類沒有重寫虛函數,那麼子類虛表中仍然會有該函數的地址,只不過這個地址指向的是基類的虛函數實現。如果基類3個虛函數,那麼基類的虛表中就有三項(虛函數地址),派生類也會有虛表,至少有三項,如果重寫了相應的虛函數,那麼虛表中的地址就會改變,指向自身的虛函數實現。如果派生類有自己的虛函數,那麼虛表中就會添加該項。3、派生類的虛表中虛函數地址的排列順序和基類的虛表中虛函數地址排列順序相同。
❿ 什麼是游戲腳本
游戲腳本的意思,就是一個模擬滑鼠、鍵盤的程序,修改需要模擬器。
比如玩家要按一下A鍵, 移動滑鼠點擊一下。這個動作,用腳本可以直接幫玩家執行,省了手動操作。但使用游戲腳本在游戲中是作弊行為,會嚴重影響其他玩家的體驗,因此需要嚴厲抵制。
游戲腳本原理
一個游戲的任務,需要在不同的手機屏幕上進行一系列點擊,滑動,甚至輸入文本,發送語音等動作後才能完成,而這一切操作其實就是手機中會記錄這些動作的文件,文件存儲的是一個又一個的信號量。
這些信號然後根據不同廠商的設定反饋給上層,而上層會根據反饋的信息轉換成統一識別的事件,事件最後響應給應用,並對信息進行相應的處理,最後呈現給用戶並實現它,這一些列的動作都是可以通過一些現有的工具或者說解決方案來幫實現自動游戲的功能。