日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
編程基礎(chǔ)之什么是元編程

大家知道元編程么?元編程到底什么呢?下面為你介紹元編程。

創(chuàng)新互聯(lián)建站服務(wù)項目包括嵩明網(wǎng)站建設(shè)、嵩明網(wǎng)站制作、嵩明網(wǎng)頁制作以及嵩明網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,嵩明網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到嵩明省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

元編程是用來產(chǎn)生代碼的程序,操縱代碼的程序,在運行時創(chuàng)建和修改代碼而非編程時,這種程序叫做元程序。而編寫這種程序就叫做元編程。比如編譯原理中用來生成詞法分析器和語法分析器的lex和yacc。

元編程技術(shù)在多種編程語言中都可以使用,但更多的還是被應(yīng)用于動態(tài)語言中,因為動態(tài)語言提供了更多的在運行時將代碼視為數(shù)據(jù)進行操縱的能力。雖然像C#和Java這樣較為靜態(tài)的語言也提供了反射機制,但是仍然沒有諸如Ruby這樣的更趨動態(tài)性的語言那么透明,這是因為靜態(tài)語言在運行時其代碼和數(shù)據(jù)是分布在兩個層次上的。

元編程是指某類[計算機程序]的編寫,這類計算機程序編寫或者操縱其他程序(或者自身)作為它們的數(shù)據(jù),或者在[運行時]完成部分本應(yīng)在[編譯時]完成的工作。很多情況下比手工編寫全部代碼相比工作效率更高。編寫元程序的語言稱之為元語言,被操作的語言稱之為目標語言。一門語言同時也是自身的元語言的能力稱之為反射。

反射是促進元編程的一種很有價值的語言特性。把編程語言自身作為頭等對象(如Lisp或Rebol)也很有用。支持泛型編程的語言也使用元編程能力。

元編程通常有兩種方式起作用。一種方式是通過應(yīng)用程序接口(API)來暴露運行時引擎的內(nèi)部信息。另一種方法是動態(tài)執(zhí)行包含編程命令的字符串。因此,“程序能編寫程序”。雖然兩種方法都能用,但大多數(shù)方法主要靠其中一種。

使用示例一個簡單元編程的例子是使用bash腳本的產(chǎn)生式編程示例:

 
 
 
  1. #!/bin/bash  
  2. # metaprogram  
  3. echo '#!/bin/bash' >program  
  4. for ((I=1; I<=992; I++)) do 
  5. echo "echo $I" >>program  
  6. done  
  7. chmod +x program 

這個腳本(或程序)生成了一個新的993行程序來打印1至992。這只是演示用代碼來寫更多代碼,并不是打印數(shù)字的最有效方法。然而,一個程序員可以幾分鐘內(nèi)編寫和執(zhí)行元程序,卻生成了近1000行代碼。

不是所有的元編程都用產(chǎn)生式編程。如果程序可以在運行時改變(如Lisp、Python、REBOL、Smalltalk、Ruby、PHP、Perl, Tcl、Lua、Groovy和JavaScript),這種技術(shù)可以不實際生成源代碼就使用元編程。

最常用的元編程工具是編譯器,把高級語言轉(zhuǎn)換為匯編語言或機器語言。更靈活的方法是在程序中嵌入解釋器直接處理程序數(shù)據(jù)。有一些實現(xiàn)例如為Object Pascal編寫的RemObject's Pascal Script。

另一個很常用的元編程例子是lex和yacc,用來生成詞法分析器和語法分析器。Yacc通常用作編譯器的編譯器,生成一個把高級語言轉(zhuǎn)換為機器語言的工具。

quine是一種源代碼等于輸出的特殊的元程序。

面向語言的程序設(shè)計是一種強烈關(guān)注元編程的編程風(fēng)格,通過領(lǐng)域特定語言來實現(xiàn)。

希望通過本文的對于元編程的介紹,能給你帶來幫助。


網(wǎng)站題目:編程基礎(chǔ)之什么是元編程
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/cdgdgig.html