gcc下除錯c語言程式為什麼顯示「段錯誤」?
1樓:網友
在 c 程式中,經常會遇到段錯誤(segment error),這種問題出現的原因可能如下:
對乙個 null 指標解引用;
訪問程式程序以外的記憶體空間。
實際上,第乙個原因可以歸到第二個原因。在乙個 c 程式的虛擬記憶體空間中,從低位址到高位址依次是**區,堆區(向上增長),棧區(向下增長),最上是常量區。其中 null 指標的位置正好是虛擬記憶體中位址為 0 的位置,而這個位置是不屬於以上 4 個區域的,同理一些比較低的位址也不屬於這四個區,所以造成段錯誤的原因是訪問了程式虛擬記憶體空間 4 個區以外的位址。
在平時的開發中,最大的可能還是對 null 進行了解引用。
作業系統頁式儲存管理的問題
2樓:網友
邏輯頁面表示這是乙個虛擬的儲存空間,乙個邏輯頁面對應乙個實體記憶體的頁框,這個頁框才是真正的物理儲存所在。
在記憶體管理系統中為什麼讓連續分配方式訪問速度快,而
3樓:果兒可兒
連續分配儲存管理方式。
連續分配是指為乙個使用者程式分配連續的記憶體空間。連續分配有單一連續儲存管理和分割槽式儲管理兩種方式。
1、單一連續儲存管理在這種管理方式中,記憶體被分為兩個區域:系統區和使用者區。應用程式裝入到使用者區,可使用使用者區全部空間。
其特點是,最簡單,適用於單使用者、單任務的作業系統。cp/m和dos 2.0以下就是採用此種方式。
這種方式的最大優點就是易於管理。但也存在著一些問題和不足之處,例如對要求記憶體空間少的程式,造成記憶體浪費;程式全部裝入,使得很少使用的程式部分也佔用—定數量的記憶體。
2、分割槽式儲存管理為了支援多道程式系統和分時系統,支援多個程式併發執行,引入了分割槽式儲存管理。分割槽式儲存管理是把記憶體分為一些大小相等或不等的分割槽,作業系統佔用其中乙個分割槽,其餘的分割槽由應用程式使用,每個應用程式佔用乙個或幾個分割槽。分割槽式儲存管理雖然可以支援併發,但難以進行記憶體分割槽的共享。
記憶體作業系統(ram
os)是一種啟動後不依賴硬碟的作業系統,其啟動後會將所有檔案載入到記憶體執行,執行速度快,絕對不會中毒,還能更好保護系統的核心檔案不受破壞。
記憶體作業系統早在win98時代就已出現,由於硬碟速度的限制和記憶體條**的降低,記憶體作業系統現在已完全突破硬體的限制,在啟動後可以將硬碟斷電,完全不依賴硬碟執行。但目前其應用範圍還較窄,主要應用有學校教學機房等。
應用程式「default web site」中的伺服器錯誤
4樓:2019策馬橫槍嘯八荒
此錯誤表明檔案或目錄在伺服器上不存在。請建立檔案或目錄並重新嘗試請求。
只需要將bin資料夾從新命名,就可以正常訪問。
在系統盤 c:\windows\system32\inetsrv\config 下有乙個檔案,內包含這麼一段**:
將 刪除以後,重啟iis解決問題了。
不過因為。net裡面使用到bin資料夾,裡面涉及到一些安全問題,所以不得已只好恢復原來樣式,所以建議使用者在編寫**的時候不要包含類似系統常用的的或者軟體常用的資料夾作為你的**資料夾,經常造成不必要的麻煩。
warning l16:uncalled segment,ignored for overlay process segment:?pr?mian? c51程式出現的錯誤。。。
5樓:小鷹隼
main函式的『main』讓你寫成『mian』了。
6樓:匿名使用者
uncalled 就是你編的程式有一段沒用到。。你仔細檢查一下函式是否正確。
微控制器程式(51)解讀遇到難題:需要德高望重的人給予幫助:問題如圖,接納的賞金500財富值
7樓:網友
#define clock segment xbyte(0xbfff)
這裡的 xbyte();是個函式,要包函才能用。這個函式的作用是用來指定外部位址。
這一句的全部意思是 : 巨集定義clock segment的位址是外部實際位址0xbfff儲存器。這種巨集定義一般用來直接對映外部暫存器,從而使外總暫存器像內部暫存器一樣使用。
只是速度會慢一些。 這樣用只是因為8051不支援外部儲存器直接定址,當然你如果用指標,也一樣能實現上述功能。
display 結合上面變數命名方式,這個函式看起來是個led數碼管掃瞄函式。本意是,選擇第一位led,並行口輸出當前位的段碼,延時後再輸出下一位led的位選,並行口輸出下一位的段碼。
8樓:
樓主貌似沒有c語言基礎啊,難為你了,有空還是得看看書的。
這裡大致給你介紹一下:
#define a b 表示:將 a (助記符)定義為 b(實際的位址、埠等等,往往比較難記住),那麼以後在程式中可以直接使用a,而不用去記b。
display()是動態掃瞄程式,用clock_sel 輸出位選,用clock_segment 輸出段選。
9樓:q號
define是定義,display是動態掃瞄,用於數碼管顯示,有段選和位選。
彙編程式的問題
10樓:網友
在dw行之後,mov bx,0之前。
加入標號。start:
在end後添上標號,即改為end start就你原來的程式,你能告訴我從**開始執行嗎?(這就是錯誤根源),阿門。。。
編譯選項。ml /c
link16
11樓:id雞蛋炒韭菜
他好像不認你自己寫的abcd,非要換成code才行,你試試看。
怎麼跟蹤有機合成程序,TLC跟蹤反應程序是怎麼會事?
1 tlc。也就是點板。一般是點3個點,原料點,反應液點,和兩者的合點。2 hplc。一般也是做兩次,原料做一次,反應液體,在同一條件下作,看出峰時間。3 gc。跟hplc差不多。4 lcms。hplc和ms的連用,也就是液質聯用,一般只做一個就可以,因為可以用ms峰來判斷產物是否生成等。以上四種方...
電腦哪些程序可以結束,電腦哪些程序可以關閉
電腦程序哪些能關,那些不能關,有一個大致判斷方法,按ctrl alt del進入工作管理員,然後點選程序這一項,就能看到所有程序,然後點選 檢視 選單下的 選擇列 在選擇列視窗,勾選 使用者名稱 這一項,確定。再返回到工作管理員視窗,就能看到使用者名稱了,如果使用者名稱是 system 則是系統的程...
「程序」是什麼意思,程序是什麼意思啊
程序是指在系統中正在執行的一個應用程式 執行緒是系統分配處理器時間資源的基本單元,或者說程序之內獨立執行的一個單元。對於操 作系統而言,其排程單元是執行緒。一個程序至少包括一個執行緒,通常將該執行緒稱為主執行緒。一個程序從主執行緒的執行開始進而建立一個或多個附加執行緒,就是所謂基於多執行緒的多工。那...