我想知道是否有可能從c + +代碼訪問處理器中斷(我想我需要使用匯編代碼)。訪問處理器中斷與c + +和x86和x64架構
這是事情。我習慣於使用嵌入式系統(PIC,ARM7和Atmel處理器),並且可以編程我的中斷而不出現任何問題(我使用C)。所有的寄存器都是映射的,總而言之,這很容易,取決於應用程序。現在我正在使用x86和x64體系結構,並且我希望(強調WANT)能夠在這些處理器中執行相同的操作。
例如:我想在C++中有一個線程運行一個代碼,該代碼在不按回車鍵(cin,getchar等)的情況下不斷驗證當前按下的鍵。我想編程一個計時器中斷,這樣我就可以在特定的時間執行操作。我明白,我想要做的很多事情都可以通過操作系統來完成,但我真的希望自己有這樣的自由。
目前我使用的Linux(Ubuntu的),但我肯定會與Windows工作不久,如果這是回答這個問題
相信我,這只是走下坡路。學習如何在Linux上以正確的方式執行此操作。如果您堅持以適合完全不同環境的方式在一個環境中編寫代碼,您永遠不會編寫出好的代碼。 OS擁有中斷。這就是桌面操作系統的工作方式。 –
@DavidSchwartz所以...我應該以某種方式從操作系統中獲取中斷?我在哪裏可以獲得這些信息?正如你可能已經注意到,我對C++和更高級別的編碼頗爲陌生。 – morcillo
你爲什麼想中斷?想想如何做你想做的事。中斷是你完成任務的方式之一 - 你想要做的事情是什麼? (例如,要在特定時間執行某些操作,可以使用線程或'setitimer'。) –