win32錯誤碼和linux的錯誤碼的簡單轉換

2021-05-22 06:14:39 字數 543 閱讀 6228

我們知道,在linux下,我們用errno來檢視api返回的錯誤碼,並用strerror(errno)來獲得錯誤資訊。

而在windows下也有這的錯誤碼,可以用getlasterror來獲得,在windows下,要獲得錯誤碼對應的資訊就沒有linux下那麼方便了。

其獲得方式可以參考《windows核心程式設計》。

但我們也可以用linux下的api來獲得windows下的錯誤資訊,其條件就是把windows下的錯誤碼轉換成linux下相應的錯誤碼,然後再呼叫

strerror(errno)來獲得錯誤資訊。

如果我們在windows下用cygwin來寫程式,那麼從windows下的api獲得的錯誤嗎,如果用linux下的函式strerror(errno)來顯示的話,那麼我們就要做乙個win32錯誤碼和linux下錯誤碼的乙個簡單轉換。

這個簡單轉換的函式如下:

那麼,如果我們想輸出錯誤資訊,就可以這樣了

雖然,不能獲得完全準確的錯誤資訊,但這個對於誇win32和linux的程式設計來說,至少可以省下一部分麻煩。

Linux錯誤碼編碼

翻譯professional linux kernel architecture 2.4.4 define max errno4095 0 4kib虛擬空間 ifndef assembly define is err value x unlikely x unsigned long max errn...

Linux錯誤碼以及exitCode

程式的優雅退出 linux錯誤碼 1 sighup 2 sigint 3 sigquit 4 sigill 5 sigtrap 6 sigabrt 7 sigbus 8 sigfpe 9 sigkill 10 sigusr1 11 sigse 12 sigusr2 13 sigpipe 14 sig...

linux環境tcp ip錯誤碼

基於 unix 的環境中的 tcp ip 使用者,下表列出了某些最常見的錯誤原因碼 errno 完整的錯誤列表可以在檔案 usr include sys errno.h 中找到 errno。針對每一種作業系統給出了errno 號碼。errno aixhp ux solaris unixware li...