最近在開發中需要使用openssl的庫,windows平台下很快就一切正常了。移植到linux下,因為**有一堆其他相容問題,所以還沒發現什麼。直到別的問題都解決完了,發現居然出現以下編譯錯誤:
inc/openssl/rand.h:67:21: fatal error: windows.h: no such file or directory
為什麼會在linux下引用windows.h,讀了rand.h發現是定義了openssl_sys_windows
然後再向前搜,發現定義openssl_sys_windows是因為在e_os2.h裡發現定義了
openssl_sys_win32 openssl_sys_winnt openssl_sys_wince三個巨集之一;
再向前發現是定義了openssl_sysname_win32。
最後定位到opensslconf.h第5行
#ifndef openssl_sysname_win32
# define openssl_sysname_win32
#endif
居然是無條件定義了windows的巨集。也是無語了
再看看opensslconf.h開頭的注釋
/* opensslconf.h */
/* warning: generated automatically from opensslconf.h.in by configure. */
在Linux中使用執行緒
我並不假定你會使用linux的執行緒,所以在這裡就簡單的介紹一下。如果你之前有過多執行緒方面的程式設計經驗,完全可以忽略本文的內容,因為它非常的初級。首先說明一下,在linux編寫多執行緒程式需要包含標頭檔案pthread.h。也就是說你在任何採用多執行緒設計的程式中都會看到類似這樣的 1 incl...
在linux中使用getch 函式
由於在linux中沒有conio.h檔案,所以不能直接用getch 函式,下面介紹如何在linux中使用getch 函式 在linux中並沒有 conio.h 這個檔案,要實現類似 getch getche 等函式的功能,可以使用 curses庫。include 使用 curses 之前要先進行初始...
在Linux中使用nmap命令
一般在本機上檢視埠時,最好使用netstat,因為它安全又可靠,如果找不到埠,或不知道埠的作用是什麼,尤其在 etc services中沒有提到的埠對應的服務,就可以使用nmap命令.這個命令是系統管理員用來管理系統安全性的工具,可以通過它了解我們主機埠到底有什麼作用.語法 nmap 掃瞄型別 掃瞄...