記得使用稱爲C++:調用BIOS中斷爲0x21
geninterrupt(int interrupt_no)
功能(包括在dos.h
),以顯示在渦輪C++在屏幕上的字符串。現在,當我嘗試用g ++編譯相同的程序時,編譯器向我大喊。
C:\Users\Krish\Documents\rough.cpp|7|error: '_AH' was not declared in this scope|
C:\Users\Krish\Documents\rough.cpp|8|error: '_DX' was not declared in this scope|
C:\Users\Krish\Documents\rough.cpp|9|error: 'geninterrupt' was not declared in this scope|
看來它甚至沒有識別寄存器。我究竟做錯了什麼。這些函數不是C++標準庫的一部分嗎? (我應該明確鏈接庫?)。如果是的話如何?
不,這完全是特定於平臺。您可以使用內聯彙編程序來調用x86風格的中斷。無論如何,這不是在現代操作系統中顯示字符串的方式,它只能在實模式下工作。 – Erbureth
如果該函數在'dos.h'中,那就暗示你知道它是DOS特定的而不是標準的。 – Shahbaz
由於這個問題是*高度*平臺特定的,應該更具體地標記它。 –