麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Perl > 正文

Perl語言全面編譯(一)

2019-11-18 17:23:51
字體:
來源:轉載
供稿:網友
簡 述
 
本文將詳細講述Perl的編譯方法,獻給所有熱愛、喜歡Perl的程序員們。 
Perl自從面世以來1.0版本到現今的5.6版本,一直都有編譯程序,主要因為國內的中文資料很少,大多數人不愿意去看或者不懂得英文資料,所造成不知道器編譯方法。即使是很多Perl界高手也同樣有此類問題。Perl編譯方法五花八門,各種編譯方法都有其重要的意義和弱點。另一方面Perl編譯方法不能流行的原因是,本身Perl就是一個免費的東西,人們不希望Perl成為編譯的商品,但是在國內也是因此而拖累了Perl的發展步伐。但在此我不贊成也不推崇Perl程序的編譯,Perl編譯有小些局限性,但是仍然可以完成所有任務,想要達到良好的編譯效果,需要高超的編程技術和相關經驗,重要的是對OOP(面向對象的程序設計)的了解,將會使得你的Perl程序更加易于編譯,運行速度更快,兼容性更廣等特性。 
以前我寫過Perl在可嵌入式技術方面技術文章。它的優勢和其它嵌入語言無法比擬的兼容性,Perl不但擁有php的可嵌入HTML技術,也同樣支持用PerlScript寫asp的。但是如果你希望你的程序可以編譯執行,那么可嵌入式方法顯然是不可能的。我幾乎不用ePerl、mod_perl等可嵌入式Perl HTML 頁,但是我更不贊成很多人把HTML置入程序之中,這兩種方法都有其好處以及壞處。我推崇模板方式的編寫方法,大家可能也用過模板方式,可能認為它在頁面量處理方面有很多問題?但是,那些都是陳舊古老的方式,也是說明你并未精通Perl語言,采用模板方式調入HTML頁是相當好的方法,幾乎可以達到所有可嵌入式技術的功效,也可以像HTML程序內置方式的靈活操縱性。我覺得程序員和HTML制作員是不同的,如果我們采用ePerl、PHP、ASP,那么你就不是一個真正的程序員,那只是HTML技術的服務器處理部分罷了,真正的程序是程序本身,而不附帶任何其它特性。 
我認為好的教學文章,應該讓讀者充分了解內容,充分擴展層面。諸如編寫一個Httpd程序,有很多傳統的程序員根本不了解 http的通訊協議,即使講了很多內容,但是仍然搞得半懂不懂。本文將會充分擴展層面,讓讀者了解更多的技術資料,而不必看完本文后又要去尋找關聯技術資料。同樣國內目前有很多技術性書籍,都是來自國外的譯本,但是很多譯者并非此技術專家,在翻譯的時候很多東西無法充分理解,帶來的時間上的障礙。我希望國內的編程專家能夠寫一些有用的技術文章和書籍,因為我看過很多國人自己寫的文章都容易理解和操作。但是問題在于都偏向與基礎教學,目前急切地需要有更深層次的技術資料。 
   
內容大綱: 
1) PerlApp和PerlSvc編譯方法 New! Easy! 
2) Perl2Exe 編譯方法 
3) PerlCC 編譯方法 
4) PerlCC之Bytecode 編譯解析法——Just Like java PRogram!  New! Cool! 
5) OOP面向對象的程序之為編譯而設計  
6) HTML模板編程方式——真正的WEB程序(Program)  Good! 
7) 聯合編譯以及實例  Advanced! 
   
說明:如何選擇閱讀以上內容是很重要的,以上內容并非適合各個階層的Perl程序員。PerlApp和PerlSvc適合在Windows2000環境下編程初學者和一般的Perl程序設計人員,Perl2Exe適合在非Windows和Windows95/98/Me 環境下編程初學者和一般的Perl程序設計人員。PerlCC適合與任何操作系統平臺,但是操作復雜,適合于中級程序員和高級程序員開發大宗商業化軟件(公眾客戶)使用。ByteCode是一種新型的編譯方式,類似Java,它需要Perl解析器的支持,但是它是靈活性最高的編譯方式,適合中級程序員和高級程序員開發大宗商業化軟件(服務商)使用。如果你希望你可以編寫出一個出色的Perl編譯的程序,那么你必須閱讀第4節,它將告訴你如何使用面向對象的程序設計技術來實現Perl編譯程序的高效良好的開發環境和模式。 
   
第一節 PerlApp和PerlSvc編譯方法
 
PerlApp和PerlSvc是ActiveState 公司開發的,它屬于 Active Perl Dev Kit(PDK)產品。本編譯方法只適合于Windows2000上運行,其它系統均無法正常使用,編譯程序必須是標準Perl和ActivePerl。 
PDK下載地址:http://ftp.tanshuai.net/pub/  ftp://ftp.tanshuai.net/pub/  
PerlApp和PerlSvc,前者是標準的應用程序,后者是Windows2000的服務程序(類似與IIS,一開機就啟動的服務程序,而且無法中斷它的運行)。他們有兩種運作模式:依靠(Dependent)和獨立(Freestanding),“依靠”模式程序運行的系統上必須有Perl解析器和相關模塊,這樣的程序相對較小;“獨立”模式,Perl解析器等相關模塊都會完全嵌入在程序之中,這樣的程序在任何Windows2000操作系統上都可以順利運行,而不需要額外的支持,但是程序相對較大。 
使用方法: 
標準使用方法(“依靠”模式): 
perlapp <腳本名> 
這樣程序就會創建一個以腳本名命名的可執行文件<腳本名.exe> 
“獨立”模式: 
perlapp(或者perlsvc) –f <程序名> 
定義輸出可執行文件名: 
perlapp(或者perlsvc) –e=tanshuai.exe test.pl 
它將會把test.pl文件輸出的可執行文件名改為“tanshuai.exe”。 
設置程序屬性: 
perlapp(或者perlsvc) -i=<類表> <程序名> 
類表名 目標項目 
Filenumber 文件號碼 
Productnumber 產品號碼 
Productname 產品名稱 
Legaltrademarks 合法商標 
Filedescription 文件說明 
Originalfilename 原文件名 
Fileversion 文件版本 
Comments 注解 
Productversion 產品版本 
Companyname 公司名稱 
Internalname 內部名稱 
Legalcopyright 版權 
 
這個時候有些人可能不大明白,這個是干什么用的。如果你曾經編寫過Win32程序,那就會知道,它是Windows程序的版本說明(如圖1)。 



圖1 Perl.exe文件的版本說明 
名稱與數值用“;”分開。而且所有項目值都需小寫。 
清理PerlCtrl 的DLL: 
perlapp(或者perlsvc) –c <程序名> 
添加模塊: 
perl(或者perlsvc) –a=<列表> 
如:perlapp tanshuai.pl –a=IO:Socket;xml::Parser;Tanshuai::Http;MP3; 
這樣模塊IO:Socket,XML::Parser,Tanshuai::Http和MP3就被置入程序內。 
Perl圖形界面: 
perlapp(或者perlsvc) –g <程序名> 
如果你的程序非命令行或者CGI,是T/K圖形界面的話,就需要采取這個命令。 
排除 Perl56.dll: 
perlapp(或者perlsvc) –x <程序名> 
Perl56.dll是PerlApp執行的關鍵,但是如果你不希望他和你的程序在一起,你可以把它排除,另行安置,但是主意,一定要保證它的存在否則就無法正確運行 
添加額外文件: 
perlapp(或者perlsvc) –b=<文件列表> <程序名> 
如果你希望在程序內部打開文件,請使用這個命令。 
如:open(FILE,“./PerlAPP.TXT“);@FILE=;close(FILE); 
這樣就必須打開“PerlAPP.TXT“文件,但是你如果把它置入程序,它將會在內存中打開。(無法寫入) 
報告嵌入模塊錯誤: 
perlapp(或者perlsvc) -r <程序名> 
一些模塊無法嵌入,使用該命令可以得出相關信息。 
輸出詳細信息: 
perlapp(或者perlsvc) <程序名> -v 
如:perlapp tanshuai.pl –v 
輸出: 
Using myScript.pl for script name 
Input script name: tanshuai.pl 
Output exe name: tanshuai.exe 
Exe Mode: Perl Dependent 
Creating dependent executable 
   
解釋:PerlApp 和PerlSvc無法在Windows95/98/ME PerlApp使用的部分Win32 API函數未被支持。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: av免费在线免费观看 | 九九热视频这里只有精品 | 午夜视频中文字幕 | 91久久国产露脸精品免费 | 日韩av电影免费看 | 麻豆视频免费网站 | 国产精品伊人久久 | 欧美一级特黄aaaaaaa什 | 日本在线一区二区 | av免费提供 | 北原夏美av | 黄网站色成年大片免费高 | av电影在线免费 | 中文字幕在线免费观看电影 | 在线a亚洲视频播放在线观看 | 精品国产亚洲人成在线 | 久久国产免费 | 亚洲人成电影在线 | 激情91| 午夜视频福利 | 91一区二区三区久久久久国产乱 | 久久久aa | 国产美女爽到喷白浆的 | 国产精品av久久久久久久久久 | 国产日韩三区 | 亚洲免费在线看 | 91精品国产日韩91久久久久久360 | 欧美日韩亚洲一区二区三区 | 精品国产亚洲人成在线 | 精品国产乱码一区二区三区四区 | 日韩欧美电影一区二区三区 | 92看片淫黄大片欧美看国产片 | 久久亚洲成人 | 欧美精品一区二区久久 | 91九色蝌蚪国产 | 91性视频| wwwxxx视频 | 欧美日韩在线播放一区 | 黄网站在线观 | 99国产精品国产免费观看 | 成人福利在线视频 |