標準C庫中有中斷函式麼?

2025-07-25 07:50:28 字數 2110 閱讀 6934

1樓:我是

有!setvect()設定中斷向量函式:

setvect(int 《中斷號》,void interrupt(*《中斷函式名》))

1)、預先定義自己的中斷函式。

void interrupt 中斷函式名(void)(2)、保留原中斷函式位址。

保留函式名=getvect(《中斷號》);

3)事後得將原中斷函式位址裝回向量表中。

setvect(《中斷號》,《保留函式名》);

總之,包含三個部分:

定義和宣告自己的中斷函式。

獲取原有的中斷向量函式。

設定自己的中斷函式。

c中函式呼叫和中斷有關係嗎

2樓:

普通函式呼叫與中斷是沒有關係的,**函式的呼叫常常與中斷相關。

c++標準庫中有雜湊函式嗎

3樓:

沒有,因為雜湊函式各式各樣,要想有理想的分散效果,必須針對特定的資料設計特定的雜湊函式。

c語言庫函式中有error函式嗎?

4樓:網友

c語言標準庫函式里沒有error函式。c語言對異常的處理確實不夠好,大多的時候都需要人工除錯。

有幾個類似的函式,分別處理各種情況下的異常:

ferror函式:在呼叫各種輸入輸出函式(如 等)時,如果出現錯誤,除了函式返回值有所反映外,還可以用ferror函式檢查。 它的一般呼叫形式為 ferror(fp);如果ferror返回值為0(假),表示未出錯。

如果返回乙個非零值,表示出錯。應該注意,對同乙個檔案 每一次呼叫輸入輸出函式,均產生乙個新的ferror函 數值,因此,應當在呼叫乙個輸入輸出函式後立即檢 查ferror函式的值,否則資訊會丟失。在執行fopen函式時,ferror函式的初始值自動置為0。

在庫函式中有個errno變數,每個errno值對應著以字串表示的錯誤型別。當你呼叫"某些"函式出錯時,該函式已經重新設定了errno的值。perror函式只是將你輸入的一些資訊和現在的errno所對應的錯誤一起輸出。

perror函式: 用來將上乙個函式發生錯誤的原因輸出到標準裝置(stderr)。引數 s 所指的字串會先列印出,後面再加上錯誤原因字串。

此錯誤原因依照全域性變數errno 的值來決定要輸出的字串。

strerror函式:用來 從錯誤號碼 查 用英文表達的錯誤內容,返回指標,指向這段英文字串。如果你不知道錯誤號,那麼在出錯發生時,及時用 errno 的當前值 作引數,列印這段字串。

5樓:匿名使用者

然後在看看的標頭檔案定義,這裡面都是一些有關錯誤方面的巨集定義。

微控制器 我想問,中斷服務函式可以寫在其他c檔案中嗎?如果可以,會起作用嗎? 如果不行,只能寫mai

6樓:網友

中斷程式 就是乙個 函式 放在**都可以 只要宣告好 只有 乙個有且只有乙個 main函式 沒有什麼檔案 c檔案可以是任何名。

7樓:網友

首先可以肯定,中斷bai服務函式可以寫在du其他檔案中,並不一zhi定要放在中。dao

中斷服務函式專如果有特定的。

屬關鍵字修飾,比如keil c51用interrupt,不僅可以放在任意檔案中,甚至可以用static 把中斷函式定義成區域性的函式都沒問題。

其他的,一般需要自己定義入口呼叫,比如某系統的定時中斷入口放在0x0008位址,則在0x0008位址放一條長跳轉指令,或者直接把函式的位址放在0x0008位址,這個根據系統不同,可能有不同的要求。

另外,有的c把載入程式會有乙個預設的中斷服務位址表,使用者只需要根據系統的要求,按照一定的格式、名稱定義好中斷服務程式,系統就會自動呼叫。

標準c語言中有round這個庫函式嗎?

8樓:匿名使用者

c99標準中有round()函式,宣告為:

double round(double );

返回距離引數最近的整數,如果引數值正好在兩個整數的中間位置,則返回距離0較遠的那乙個整數(即正數則返回大於引數的整數,負數則返回小於引數的整數)

c的標準庫和執行時庫有什麼區別

c標準庫包括常用的數學函式 字串操作函式等等,這些函式都是由程式設計高手寫的,效率高,很少出錯,而且是完全符合c語言標準的函式。c執行庫可以說是c標準庫的擴充套件集,它是完全包含c標準庫,但是在此基礎之上新增了一些額外的函式。比如說c標準庫的strcpy函式負責字串的拷貝,但是由於缺少對目地字串緩衝...

c 標準庫的容器在哪些情況下會記憶體洩漏

也可以看看著本書 exceptional c style 兄弟!我和那個女人在一起3年了,也付出3年,我付出了那麼多,我得到了什麼?最後卻一無所獲。我失敗啊!看看原始碼吧,呵呵。侯傑有個 stl原始碼剖析 c 在哪些情況下會產生記憶體洩露 有開闢,沒釋放 或者 釋放不完全。不乾淨。沒釋放 有new,...

C語言中有呼叫關係的所有函式都必須放在同一源程式檔案中怎麼

就是有兩個函式 a 和b 那麼如果在a函式中要呼叫b函式的話,a函式必須要能在本檔案中找到b函式,這樣才能找到該函式的位址。但是,我們平時程式設計的時候,有的時候a和b函式是在不同的檔案中的。這種時候在a函式所在檔案前面就必須使用 include命令告訴編譯器,把b函式所在的檔案檔案包含進來,合併成...