當前位置:首頁 » 操作系統 » 569源碼

569源碼

發布時間: 2022-05-28 18:13:06

1. swift怎麼發送get和post請求

1. URL
- GET
所有的參數都包含在 URL 中
1. 如果需要添加參數,腳本後面使用 `?`
2. 參數格式:值對
參數名=值
3. 如果有多個參數,使用 `&` 連接
4. 在 get 方法中,url字元串中不能包含中文或者特殊符號 空格
如果出現,需要添加百分號轉義
- POST
URL中不包含參數,直接指定登錄腳本即可
2. Request
- GET
- 因為 GET 的效率高,而且性能好,能夠被緩存,使用頻率高
- 是默認的請求方法,不需要任何設定
- POST
- 需要指定請求方法
request.HTTPMethod = @"POST";
- 所有參數都包含在請求體中,二進制數據,來源:firebug的源代碼中粘貼
- 參數格式,和 GET 的幾乎一致,只是沒有 `?`
- POST方法獲得的網路數據不能被緩存
3. Connection
這是一個最單純的網路方法,只是發送"請求",接收伺服器返回的二進制"實體數據"
GET & POST 沒有任何區別
GET:
/// GET 登錄
func getLogin() {
let username = "SpongeBob"
let pwd = "1234567890"
/**
GET 方法中,所有的參數都包含在 URL 中
提示:login.php 是測試用的腳本
【需要:在Mac電腦上,配置Apache伺服器--http://www.cnblogs.com/SpongeBob-GitHub/p/4496164.html & 將login.php腳本放到伺服器上!】
注意:得先啟動配置好的Apache伺服器
$ sudo apachectl -k restart
1. 如果需要添加參數,使用 ?
2. 參數格式:值對
參數名=值
3. 如果有多個參數,使用 & 連接
4. 在 get 方法中,url字元串中不能包含中文或者特殊符號 空格
如果出現,需要添加[百分號]轉義
*/
var urlString = NSString(format: "http://127.0.0.1/login.php?username=\(username)&password=\(pwd)")
// 利用UTF8編碼
urlString = urlString.(NSUTF8StringEncoding)!
let url = NSURL(string: urlString as String)
// 因為 GET 的效率高,而且性能好,因此在網路訪問中,使用頻率非常高!默認的請求方法就是 GET 的,無需指定!
// GET 方法是可以緩存的!
var request = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReturnCacheDataElseLoad, timeoutInterval: 10.0)
println(request.HTTPMethod)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, connectionError) -> Void in
println(response)
if connectionError != nil {
println("login error....\(connectionError)")
} else {
// 這里的data數據,就是通過GET請求獲取到的,第一次獲取成功後,就緩存到本地沙盒中,下次就不再獲取,直接從本地載入!!!--緩存
// 問題:但是如果這時候,伺服器中返回的數據修改了,這里依然會列印修改前的data!
// 比如:將login.php腳本中得返回userName改成 xxxx,依然會列印為SpongeBob。
// FIXME: 這種問題一般會出現在圖片的獲取,我們重新寫一個類來解決這個問題!
var dict = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as! NSDictionary
println("GET: -> \(dict)")
}
}
}

POST:
/// POST 登錄
func postLogin() {
let username = "SpongeBob"
let pwd = "1234567890"
let url = NSURL(string: "http://localhost/login.php")
var request = NSMutableURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReturnCacheDataElseLoad, timeoutInterval: 10.0)
request.HTTPMethod = "POST"
println(request.HTTPMethod)
// 設置請求體為二進制數據
var bodyStr = NSString(format: "username=\(username)&password=\(pwd)")
request.HTTPBody = bodyStr.dataUsingEncoding(NSUTF8StringEncoding)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, connectionError) -> Void in
println(response)
if connectionError != nil {
println("login error....\(connectionError)")
} else {
var dict = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as! NSDictionary
println("POST: -> \(dict)")
}
}
}

針對於GET請求緩存----》
這里的data數據,就是通過GET請求獲取到的,第一次獲取成功後,就緩存到本地沙盒中,下次就不再獲取,直接從本地載入!!!--緩存
問題:但是如果這時候,伺服器中返回的數據修改了,這里依然會列印修改前的data!
比如:將login.php腳本中得返回userName改成 xxxx,依然會列印為SpongeBob。
FIXME: 這種問題一般會出現在圖片的獲取,我們重新寫一個類來解決這個問題!
/// GET 載入網路圖片 -- 緩存
func loadImageWithGET() {
let url = NSURL(string: "http://localhost/images/1.png")
var request = NSMutableURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy., timeoutInterval: 10.0)
// 設置請求頭 - 利用「If-None-Match」判斷是否改變
request.setValue(self.etag, forHTTPHeaderField: "If-None-Match")
println(request.HTTPMethod)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, connectionError) -> Void in
var httpRespone = response as! NSHTTPURLResponse
println("\(httpRespone.allHeaderFields) + \(httpRespone)")
// 第2次點擊時,為304,即需要從本地載入
if httpRespone.statusCode == 304 {
println("Loading the local data...")
// NSURLCache
var cacheResponse = NSURLCache.sharedURLCache().cachedResponseForRequest(request)
self.imgView.image = UIImage(data: cacheResponse!.data)
return
}
self.etag = httpRespone.allHeaderFields["Etag"] as? String
self.imgView.image = UIImage(data: data)
}
}

網路緩存的處理
/**
* [iOS] 簡述 NSURLCache 的存儲目錄
**
(lldb) po NSHomeDirectory()
"/Users/xxxx/Library/Developer/CoreSimulator/Devices/5A46B8A4-xxxx-4B6A-B5B8-F76A6E13998F/data/Containers/Data/Application/EFEF0D66-xxxx-4EE6-B569-F94429362922"
**
使用AFNetworking 、 SDWebImage 等等開源庫做網路數據緩存的時候要注意可能會出現重復緩存(因為NSURLCache已經做了一次緩存,存在Disk中 !
1. 使用 NSURLConnect,、UIWebView 。。 的都會使用導 NSURLCache 的緩存
2. 當使用 NSURL 相關的框架,使用到緩存的時候,系統會在 Caches目錄下創建一個 跟 bundle identifer 同名的一個文件夾,以及裡面的 Cache.db、Cache.db-shm、Cache.db-wal
三個文件和文件夾 fsCacheData/
·fsCacheData/ 文件夾會在有需要緩存數據到文件的數據才會有,如緩存圖片
3. 可以使用 [[NSURLCache sharedURLCache]removeAllCachedResponses] 清理這里所有的緩存數據。
*/
在AppDelegate.swift中添加
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

/**
* 設置網路緩存
**

內存緩存 4M
磁碟緩存 20M
diskPath-》nil,會緩存到 cached 的 bundleId 目錄下

SDWebImage 的緩存

1. 緩存時間--1周
2. 處理緩存文件,監聽系統退出到後台的事件
- 遍歷緩存文件夾,刪除所有過期的文件
- 繼續遍歷緩存文件夾,將最大的文件刪除,一直刪除到緩存文件的大小和指定的「磁碟限額」一致

*/

let cache = NSURLCache(memoryCapacity: 4 * 1024 * 1024, diskCapacity: 20 * 1024 * 1024, diskPath: nil)
NSURLCache .setSharedURLCache(cache)

return true
}

2. 求一套電影資料管理系統的源碼

在當今的流媒體伺服器市場有兩個「大腕」,一個是RealNetworks公司的Helix Server,另一個就是微軟的Windows Media Services 。RealNetworks的Helix Server優勢在於兼容眾多操作系統平台,因此在大型的提供電影點播的網站,也許會運行LINUX等操作系統,也就只能用RealNetworks的Helix Server。而微軟的媒體伺服器則是WINDOWS 2000或WINDOWS2003伺服器版操作系統自帶,基本是免費,當然它是一個伺服器組件,它不會默認安裝,得指定安裝才行。

本文只介紹基於WINDOWS的流媒體伺服器——Windows Media Services,因這是操作系統自帶,配置相對方便,也更好用和容易管理,功能也很強大。兩個WINDOWS伺服器操作系統帶的流媒體伺服器版本也不同,後一個是最新的,它稱為Windows Media Services 9系列(見圖1),它最好運行在WINDOWS 2003伺服器操作系統下。在本文我們也將在基於WINDOWS 2003操作系統,以WINDOWS MEDIA SERVICES 9系列為對象進行案例的介紹。

500)this.width=500" border=1>
圖1

Windows Media Services 是微軟提供的一種通過 Internet(互聯網) 或 Intranet(內聯網) 向客戶端傳輸音頻和視頻內容的平台。客戶端可以是使用播放機(例如 Windows Media Player)播放內容的PC計算機或設備(最終用戶);也可以是用於代理、緩存或重新分發內容的另一台運行 Windows Media Services媒體伺服器。

Windows Media 伺服器可從多種不同的「源」接收內容以進行發布。包括三種方式:

1.預先錄制的存儲在本地伺服器上的內容,也可以從聯網的文件伺服器上提取;

2.可以使用數字錄制設備(攝象機,話筒)記錄實況,經編碼器(編碼軟體)處理後發送到 Windows Media 伺服器進行廣播;

3.Windows Media Services 還可以重新廣播從遠程另一個Windows Media 伺服器上的發布點傳輸過來的內容。

如果計劃傳輸實況內容,則伺服器將連接到支持媒體格式的編碼軟體(如 Windows Media 編碼器)。你可以使用 Windows Media 編碼器 9 系列(下載地:http://www.microsoft.com/downloads/details.aspx?FamilyID=5691ba02-e496-465a-bba9-b2f1182cdf24&displaylang=zh-cn&Hash=C39WQB8),Microsoft Procer for Microsoft Office PowerPoint 2003(下載地:http://www.microsoft.com/downloads/details.aspx?FamilyID=1b3c76d5-fc75-4f99-94bc-784919468e73&displaylang=zh-cn ),Windows Movie Maker等,這些軟體可以從微軟公司的網站下載。

在介紹Windows media server的架設之前,讓我們先來了解什麼是「流媒體」(Stream Media);什麼是「單播」和「多播」;什麼是「點播發布點」和「廣播發布點」等一些專業技術和微軟的專有術語。

流媒體

流媒體顧名思義,可以認為是流動的媒體,以連續流(數據包)的形式通過網路傳遞數字媒體。指的是影音等媒體文件被分解編碼成數字信號象流水一樣流向目的地,並在到達目的地時由播放器還原為圖像或聲音。這種方法在接收的同時呈現內容,從而可以連續地播放數據,而不必等待下載整個文件,流式處理的文件播放完後,它不會存儲在計算機中。

發布點

發布點是Windows Media伺服器使用來將客戶端對媒體內容的訪問請求轉換為放置該內容的伺服器上的物理路徑(呈現給播放器的是一個網址,類似於網站的根目錄)。發布點是網管人員用來標志某種類型的媒體服務的點,通過媒體伺服器的控制界面,可以看到這些點的工作狀態並隨時管理。在客戶端成功連接到發布點之後,Windows Media 伺服器管理該連接並傳輸該內容,客戶端通過連接到發布點而能訪問來自伺服器的內容流。有兩種類型的發布點:「點播發布點」和「廣播發布點」。一個 Windows Media 伺服器可以配置為運行多個發布點,可以廣播和點播同時存在。點播和廣播有一些重要的區別。

(1)使用點播發布點

如果你希望由客戶端來控制播放,可以操作播放器的播放、暫停、快進等功能,則使用點播發布點。這種類型的發布點最常用於以文件、播放列表或目錄為源的內容。當客戶端連接到該發布點時,將從頭開始播放內容,最終用戶可以使用播放機上的播放控制項來暫停、快進、倒回、跳過播放列表中的項目或停止。只有當客戶端已連接且可以接收流時,點播發布點才可以傳輸內容。從點播發布點傳輸的內容總是以單播流的形式傳遞。這種方式適用於媒體的點播服務,這也是電影伺服器要採用的方式,也是本案要採用和重點介紹的方案。

(2)使用廣播發布點

如果你希望在伺服器上控制播放和傳輸內容,則使用廣播發布點。這象是電台或電視台播放節目的方式,節目由伺服器持續播放,你錯過了就只能錯過。這使用戶有看電視節目的類似體驗。它最常用於從編碼器、遠程伺服器或其他廣播發布點傳遞實況流。當客戶端連接到廣播發布點時,客戶端就加入到已在傳遞的廣播中。客戶端可以啟動和停止流,但不會停止伺服器的廣播,也不能暫停、快進、倒回或跳過。廣播發布點也可以用來傳輸文件和文件播放列表,但是客戶端播放機不能像控制點播那樣控制播放。給用戶的感覺象是在接收實況編碼流廣播,這樣其實還不如採用點播發布點方式。

廣播發布點在伺服器端啟動時立即傳輸,並一直繼續,直到它被管理員停止或內容傳輸完。啟動可以是由管理員來人工啟動;也可以在連接第一個客戶端時自動啟動。這種方式適用於較適合於企業的視頻會議和比如校園網中足球賽的實況網路直播等。

單播和多播是流的傳遞方式

(1)單播流是伺服器和客戶端之間建立的「一對一」連接,每個客戶端都向伺服器請求接收一個不同的流且只有那些請求流的客戶端才接收流。以單播流方式傳遞內容時既可以用於建點播發布點又可以用於建廣播發布點。單播流式傳輸也是 Windows Media 伺服器用來傳遞內容的默認方法,默認處於啟用狀態。 實際上也是最常用的方式。

下圖顯示通過使用點播發布點以單播流方式傳遞內容的示例。(圖2)

500)this.width=500" border=1>
圖2

正如上圖所示,在名為 Server1 的 Windows Media 伺服器上有一個名為 TV1 的點播發布點。內容可在本地伺服器或網路上的文件伺服器上安置。您可以將特定「文件」、「目錄」、「播放列表文件」作為來源。在上例中,發布點將存儲在本地 Server1 上的播放列表文件作為來源。創建一個為用戶提供指向內容的 URL。因為內容是以單播流方式傳遞的,所以每個播放機都有一個到 Server1 的唯一連接。

由於本案的電影伺服器屬於點播發布點,所以點播發布點在對Windows Media 伺服器的設置中就沒有單播和多播的選擇,只會是系統默認的單播方式,伺服器系統不用作另外的設置。

(2)多播流是指 Windows Media 伺服器和接收流的客戶端之間的一對多關系。利用多播流,伺服器向網路上的一個D類多播 IP 地址傳輸流,客戶端通過向該 IP 地址訂閱來接收流。所有的客戶端都接收相同的流。無論有多少個客戶端接收流,伺服器只向多播地址傳輸一個流。

使用多播流會節省網路帶寬,對於帶寬較低的廣域網路可能非常有用,這種方式需要路由器的參與,非常適合於跨互聯網的大型視頻會議。以多播流方式傳遞內容時只能用建廣播發布點。另外路由器必須已啟用多播功能。

在網吧應用中,除了做電影、音樂的點播服務,也許我們也會有廣播服務的需求,比如:需要在網路內實況轉播電視足球賽。在建廣播發布點時,會遇到伺服器系統給出的以「單播」或者「多播」傳遞流的選擇。對於區域網環境來說,帶寬足夠高,同時也沒有專業路由器進行「多播」,所以應選擇用「單播」來傳遞流。

在進行Windows Media Services伺服器的設置之前,由於它不是默認安裝,我們需要進行組件的安裝。進入「控制面板」,點擊「添加或刪除程序」,點擊「添加/刪除Windows組件」,在「Windows組件向導」中選中「Windows Media Services」,插入WINDOWS2003安裝盤,然後點擊「下一步」進行安裝。(圖3)
500)this.width=500" border=1>
圖3 點擊看大圖

在安裝完Windows Media Services伺服器以後,我們就可以開始設置媒體伺服器了。進入Windows2003的「開始」—「程序」—「管理工具」—點擊「Windows Media Services」就可以以打開媒體伺服器的管理界面。

設置 Windows Media 伺服器的基本步驟包括:添加和配置「發布點」。Windows Media 伺服器可以配置兩種類型的發布點:廣播發布點和點播發布點。如果要傳輸編碼器的實況內容,則選擇廣播發布點。如果打算傳輸媒體文件(擴展名為:.asf、.wma、.wmv、.mp3 和 .wsx)且希望允許用戶控制內容的播放(例如,暫停、倒回或快進對播放器控制),則最好選擇點播發布點,本案也就選擇它。

本文接下來的小節將只集中介紹要實現網友所要求的建立電影伺服器的所要進行的配置。

對於Windows Media 伺服器的各種術語不是很熟悉的初級用戶,Windows Media 伺服器給我們提供了方便添加發布點的向導。小酷得承認即使是這樣,對於初次使用微軟的媒體伺服器的人來說,仍然會對它的每一步的術語感到茫然。但是按照本文上面介紹的重要術語和對這個方案的實例介紹,我相信讀者們應能弄出一個電影伺服器來。

打開Windows Media 伺服器以後,現在我們要使用「添加發布點向導」創建一個名字為「movie」的「點播發布點」。 操作步驟如下:

1. 在Windows Media 伺服器主界面的左邊欄的點擊伺服器圖標,點擊「發布點」,點擊滑鼠右鍵,出現的對話欄時,點擊「添加發布點(向導)」,點擊「下一步」。(圖4、5)
500)this.width=500" border=1>
圖4 點擊看大圖
500)this.width=500" border=1>
圖5 點擊看大圖

2.添加發布點的名稱,填入我們要的電影服務的名稱「movie」。點擊「下一步」。(圖6)
500)this.width=500" border=1>
圖6 點擊看大圖

3.出現了「內容類型」選擇對話框,要我們選擇將要發布的內容的類型。由於我們要發布的是存在本地伺服器硬碟上的電影文件(當然是上文所提到的文件格式,若還不是,就需要各種媒體轉換程序來進行轉換了,比如:Windows media encoder 9),所以選擇最後一個選項「目錄中的文件」。點擊「下一步」。(圖7)
500)this.width=500" border=1>
圖7 點擊看大圖

4.出現了「發布點類型」選擇對話框。要選擇「點播發布點」方案,選中它。點擊「下一步」。(圖8)
500)this.width=500" border=1>
圖8 點擊看大圖

5.出現了「目錄位置」對話框,在這里要求我們給伺服器指定媒體文件所在的目錄。點擊「瀏覽」,出現的對話框中在「數據源」處點擊目錄所在的硬碟符,在「位置」處點擊所在的目錄。然後,點擊右邊的「選擇目錄」就回到原來的對話框。這時我們還可以進一步點中「允許使用通配符」的復選鈕。點擊「下一步」。(圖9)
500)this.width=500" border=1>
圖9 點擊看大圖

6.出現了「內容播放」對話框,這兩個復選鈕可隨意選擇。點擊「下一步」。(圖10)
500)this.width=500" border=1>
圖10 點擊看大圖
7.出現了「單播日誌記錄」對話框,這個復選鈕也是隨意選擇。點擊「下一步」。(圖11)
500)this.width=500" border=1>
圖11 點擊看大圖
8.出現一個列出上述操作摘要的對話框。點擊「下一步」。
9.到此基本完成添加發布點的工作。但是向導還提示我們可以進行進一步的創建發布點的「公告文件」,該文件為播放機提供在連接到 Windows Media 伺服器接收內容時需要的信息。但是對於我們要建的電影伺服器,要實現的是點播的功能,對目錄中的文件進行一個個的精確訪問,而公告文件是對整個目錄的公告,顯然不符合我們的要求。所以在這步,我們要點消「完成向導後」這個復選鈕,迫使向導就此結束,不再進行後續操作。(圖12)
500)this.width=500" border=1>
圖12 點擊看大圖

至此,我們創建的「movie」這個電影伺服器的發布點已經完成。Movie發布點也出現在主界面的左邊欄。接下來的配置發布點,相對於我們這個應用來說,其實很簡單,只需點擊Movie右邊欄中的 「屬性」選項卡,點擊「類別」中的「常規」,再啟用常規中的三個屬性即可。(圖13)
500)this.width=500" border=1>
圖13 點擊看大圖

接下來我們應測試一下這個發布點(電影伺服器)是否已能正常工作。有兩種測試方式:一是點擊「源」這個選項卡,然後點擊底下的那個播放器的圖標,就可以測試流了。(圖14、15)但是,在這里要提的是,你得先確保伺服器已接入網路,要不然會彈出一個奇怪的出錯,提示說:「windows media player無法播放該文件,請連接到Internet」,這個出錯提示,對於初學者會來說會感到一臉茫然,感覺每一步都沒有配錯呀,怎麼還會出錯,很受打擊。(圖16)老實說,小酷對微軟的這個出錯提示很是有意見,不知者會不停地建發布點,沒完沒了,最後還是測試不通過,小酷曾深陷其中,因此有感而發。第二測試流的方式,當然是在網路上的一台客戶機上訪問這個發布點的URL地址了,如:mms://LANSHAN/movie/。注意,LANSHAN是筆者這台伺服器的名稱,movie就是發布點名稱了。
500)this.width=500" border=1>
圖14 點擊看大圖
500)this.width=500" border=1>
圖15 點擊看大圖
500)this.width=500" border=1>
圖16 點擊看大圖

在設置 Windows Media 伺服器和要傳輸的內容之後,需要讓用戶知道該電影內容如何訪問,若是單單給用戶如mms://LANSHAN/movie/這個鏈接,播放器將會隨機打開播放目錄中了任意一個電影,這樣的結果並不符合我們點播電影的要求。所以,我們還是建議用精確的URL地址 來訪問電影內容,也就是上面的地址最後面要加電影文件的文件名,如:mms://LANSHAN/movie/大海嘯DV拍攝合集1.wmv ,把這樣的鏈接做成電影網頁(也許可以從互聯網找到第三方的電影網站源碼,這樣建網站更方便),讓觀眾能看到電影片名的列表,點擊打開這個精確的URL地址所對應的電影進行播放,真正做到點播操作。

小結:電影伺服器在大型網吧中的應用顯得很重要,現在網吧都提供給網友觀看電影的服務,但若在文件伺服器開個電影文件的共享文件夾,讓用戶直接點擊打開,這樣會很耗費這個文件伺服器的系統資源,嚴重的情況會使伺服器當機。因此考慮用隨手可得的微軟的Windows Media 伺服器來承擔媒體的發布工作,就可以避免這種情況的發生。Windows Media 伺服器當然也可以用來發布MP3音樂,這也是網吧中網友所喜愛的。

完整的請看:http://www.cnknow.org/user1/leoncool/archives/2006/178.htm

3. 好用的免費網站源碼網站有哪些

易撲源碼,一個比較好的交流交易平台,裡面很多的作品都是原創的,非常適合學習和交易。

4. 求有pudn賬號的幫忙下載個源代碼,謝謝。

上傳附件請下載。

5. 請教:為什麼keil c51 中不能設斷點

keil優化的問題,設置斷點的程序段被keil優化掉了,詳見keil優化級別說明
級別
說明
0
常數合並:編譯器預先計算結果,盡可能用常數代替表達式。包括運行地址計算。
優化簡單訪問:編譯器優化訪問8051系統的內部數據和位地址。
跳轉優化:編譯器總是擴展跳轉到最終目標,多級跳轉指令被刪除。
1
死代碼刪除:沒用的代碼段被刪除。
拒絕跳轉:嚴密的檢查條件跳轉,以確定是否可以倒置測試邏輯來改進或刪除。
2
數據覆蓋:適合靜態覆蓋的數據和位段被確定,並內部標識。bl51連接/定位器可以通
過全局數據流分
,選擇可被覆蓋的段。
3
窺孔優化:清除多餘的mov指令。這包括不必要的從存儲區載入和常數載入操作。當存
儲空間或執行時間可節省時,用簡單操作代替復雜操作。
4
寄存器變數:如有可能,自動變數和函數參數分配到寄存器上。為這些變數保留的存
儲區就省略了。
優化擴展訪問:idata、xdata、pdata和code的變數直接包含在操作中。在多數時間沒
必要使用中間寄存器。
局部公共子表達式刪除:如果用一個表達式重復進行相同的計算,則保存第一次計算
結果,後面有可能就用這結果。多餘的計算就被刪除。
case/switch優化:包含switch和case的代碼優化為跳轉表或跳轉隊列。
5
全局公共子表達式刪除:一個函數內相同的子表達式有可能就只計算一次。中間結果
保存在寄存器中,在一個新的計算中使用。
簡單循環優化:用一個常數填充存儲區的循環程序被修改和優化。
6
循環優化:如果結果程序代碼更快和有效則程序對循環進行優化。
7
擴展索引訪問優化:適當時對寄存器變數用dptr。對指針和數組訪問進行執行速度和
代碼大小優化。
8
公共尾部合並:當一個函數有多個調用,一些設置代碼可以復用,因此減少程序大小

9
公共塊子程序:檢測循環指令序列,並轉換成子程序。cx51甚至重排代碼以得到更大的循環序列。

6. 求黑龍江某高校招生就業信息網完整源代碼

什麼程序?沒看懂……源代碼:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<link href="css.css" rel="stylesheet" type="text/css">
<title>黑龍江工程學院就業信息網</title></HEAD>
<BODY BGCOLOR=#FFFFFF background="bg.gif" leftmargin="0" topmargin="0">
<br>
<br>
<br>
<TABLE WIDTH=778 BORDER=0 align="center" CELLPADDING=0 CELLSPACING=0>
<TR>
<TD width="797"> <img src="images/images/top1_02.gif" width=778 height=157></TD>
</TR>
<TR>
<TD height="30" background="images/images/top1_03.gif"> <table width="94%" border="0" align="center" cellpadding="0" cellspacing="0" class="unnamed2">
<tr>
<td><div align="center"><a href="default.asp" class="y">首 頁</a> | <a href="yuanxi1.asp" class="y">院系簡介</a> | <a href="zs" class="y">招生工作</a> | <a href="index.asp" class="y">就業工作</a> | <a href="jgjj1.asp" class="y">機構簡介</a> | <a href="zzlc1.asp" class="y">工作流程</a> | <a href="jianjie1.asp" class="y">聯系我們</a>
<br>
</div></td>
</tr>
</table></TD>
</TR>
</TABLE>
<table width="778" height="173" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="346" valign="top">
<table width="97%" height="31" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="images/xnxw.jpg" width="102" height="26"></td>
</tr>
</table>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td background="img/xian1.gif"><img src="img/xian1.gif" width="3" height="1"></td>
</tr>
</table>
<br>
<table width="97%" height="164" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=586','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>倡導綠色 共建和諧</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=584','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>評估知識競賽圓滿結束</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=585','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>唇槍舌戰論「專」「博」</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=583','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>我院隆重舉行省評估專家組評估考察工作意見反...</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=580','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>唱響校園 盡展真我風采</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=579','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>評估專家組召開預評估預備會議</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=570','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>離退休老幹部評估座談動員會</font></a>
</td>
</tr>

<tr>
<td height=19 class=small13><img height=6 src="img/11.gif" width=6>
<a href="javascript:win=open('zs/news.asp?id=569','offer','width=1024,height=1024,status=no,menubar=yes,scrollbars=yes,top=0,left=0'); win.focus()"><font color=#000000>關於舉辦「曹雪芹和紅樓夢」專題講座的通知</font></a>
</td>
</tr>

</table> </td>
<td width="432"><TABLE cellSpacing=1 cellPadding=0 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width="662" height="133"><table width="13%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<script language=JavaScript>
var imgUrl=new Array();
var imgLink=new Array();
var adNum=0;
var it=1;
imgUrl[it]="images/xx.jpg";
imgLink[it++]="#";
imgUrl[it]="images/xx1.jpg";
imgLink[it++]="#";
imgUrl[it]="images/xx2.jpg";
imgLink[it++]="#";
var imgPre=new Array();
var j=0;
for (i=1;i<=3;i++) {
if( (imgUrl[i]!="") && (imgLink[i]!="") ) {
j++;
} else {
break;
}
}
function playTran(){
if (document.all){
document.imgInit.filters[0].play();
}
}
function nextAd(){
if(adNum<j)adNum++ ;
else adNum=1;

if (document.all){
document.imgInit.filters[0].Transition=26;
document.imgInit.filters[0].apply();
}
document.images.imgInit.src=imgUrl[adNum];
playTran();
theTimer=setTimeout("nextAd()", 4000);
}
function goUrl(){
jumpUrl=imgLink[adNum];
jumpTarget='_blank';
if (jumpUrl != ''){
if (jumpTarget != '')
window.open(jumpUrl,jumpTarget);
else
location.href=jumpUrl;
}
}
</script>
<td width="100%" height="148" valign="bottom"> <div align="center"><a href="javascript:goUrl()" target="_self"><img

src="javascript:nextAd()" name=imgInit width="469" height="215" border="0" style="FILTER:

progid:DXImageTransform.Microsoft.RevealTrans

(ration=1,transition=3);border-color:#000000;color:#000000;margin-bottom:0px"></a>
</div></td>
</tr>
</table></TD>
</TR>
</TBODY>
</TABLE>
</td>
</tr>
</table>
<table width="778" height="38" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="bottom" background="images/bg1.jpg">
<table width="778" height="34" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="34"><table width="61%" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center"><a href="zs/"><img src="images/zst.jpg" width="222" height="35" border="0"></a></div></td>
<td><div align="center"><a href="index.asp"><img src="images/jyt.jpg" width="222" height="35" border="0"></a></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bgt.jpg">
<tr>
<td><img src="images/bgt.jpg" width="4" height="7"></td>
</tr>
</table>
<table width="778" height="81" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF" class="unnamed1"><div align="center">黑龍江工程學院招生就業信息網
Copyright &; 2004-2007 All Rights Reserved<br>
地址:黑龍江省哈爾濱市道外區紅旗大街999號 郵編:150050</div></td>
</tr>
</table>

7. 求類似購物網站程序源代碼

lodoeshop商城購物系統也不錯,還有免費的網站源代碼下載哦。

8. Android中實現TextView垂直滾動,像跑馬燈那樣,但是垂直的

要實現垂直滾動的,你可以用scrollview這個組件,不需要什麼代碼,只需要在xml文件,將textview嵌套進scrollview進去就行了。
<ScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
............//自己定義你的TextView組件
><TextView>
<ScrollView>

9. 易語言當按鈕1按下後,編輯框1內所輸入的任意數字(如46910)將被轉換成漢字(四六九一零),然後

摘要 你好,很高興為你解答。易語言當按鈕1按下後,編輯框1內所輸入的任意數字(如46910)將被轉換成漢字(四六九一零),然後在編輯框2中顯示出來數字轉換漢字大寫 系統結構:易語言數字轉換漢字大寫源碼,數字轉換漢字大寫 ======窗口程序集1 | | | |------ _按鈕2_被單擊 | | | |------ _編輯框3_內容被改變

熱點內容
在配置更新的時候沒電關機怎麼辦 發布:2024-05-18 20:36:10 瀏覽:926
win7訪問win2000 發布:2024-05-18 20:27:41 瀏覽:387
青島人社局密碼多少 發布:2024-05-18 20:19:10 瀏覽:733
無法存儲呼叫轉移 發布:2024-05-18 20:18:30 瀏覽:125
資料庫的調優 發布:2024-05-18 20:18:29 瀏覽:345
sqlserver注冊表清理 發布:2024-05-18 20:13:14 瀏覽:990
linux刪除連接 發布:2024-05-18 20:06:56 瀏覽:821
linux搭建雲伺服器平台 發布:2024-05-18 19:52:21 瀏覽:401
安卓怎麼關閉美易訂閱 發布:2024-05-18 19:29:16 瀏覽:643
蘋果手機配置代理伺服器怎麼開 發布:2024-05-18 19:29:07 瀏覽:230