1使用vc作為編輯器
識別linux下的函式
補充:如何在vc下識別linux下的函式?
可以把linux下的標頭檔案拷貝到windows上,並 配置visual assist新增此目錄。
cp/usr/include/*.h
~/linux‐include
標頭檔案和子目錄有很多,可以有選擇得只拷 貝一部分過來。。。
2跨平台的程式設計技術
何為跨平台
乙份**,在windows可以編譯和執行,在 linux上也可以編譯和執行,則稱此**是可 以跨平台的。
特點:① 同乙份**,無需改動
② 執行結果相同
演示:使用vc作為編輯器
好處:(1)vc的編輯效率高
(2)vc的除錯效率,在vc下編譯、除錯成功後, 再到linux下編譯
(3) 同乙個專案目錄,適用兩種平台
(這是推薦的開發方式:先在vc下開發,最後到 linux編譯)
要求:盡量使用標準函式/型別/語法
如,ansi c / stl,是各個平台都支援的函式 char/short/int/double/float,這些型別各平台 都支援
跨平台**的要求
盡量避免平台相關的型別、函式、語法。。。
例如, int: vc下可以,應該用int
例如,有的編譯器認為這樣是變數i重複定義
for(int i=0; i<10; i++){}
for(int i=0; i<20; i++){}
例如,用fopen/fclose/fread/fwrite來開啟檔案, 不用open/close/read/write來開啟檔案
以popen/pclose為例,
在linux下,支援popen/pclose
在windows下,支援_popen/_pclose
如何做到**上的統一?
使用條件編譯
#ifdef _win32
#else
#endif
或者,在makefile顯式新增編譯選項
cxxflags += ‐d_linux
在**裡新增條件編譯:
#ifdef _linux
#else
#endif
學習資源 [《c語言/c++學習指南》linux開發篇
](
/detail/1353)
Linux網路程式設計雜項
requests not to send sigpipe on errors on stream oriented sockets when the other end breaks the connection.the epipe error is still returned.當連線斷開,如果a...
Linux網路程式設計之socket技術
套接字,是一種接 術,它封裝了tcp ip通訊協議,使用它可以讓計算機之間通過網路傳輸資料,所有的作業系統使用的都基於socket的介面進行網路通訊的。不光可以用於網路間通訊,還可以用於程序間通訊,或者可以網路通訊理解為不同計算之間的程序間通訊。其實是一種記憶體物件,以描述符的形式呈現,傳送資料即寫...
Qt程式設計之除錯技術
17 除錯技術 qt應用程式的除錯可以通過ddd進行跟蹤除錯和列印各種除錯或警告資訊。ddd data display debugger 是使用gdb除錯工具的圖形工具,它安裝在linux作業系統中,使用方法可參考ddd的幫助文件。下面說明如何列印各種除錯或警告資訊 17.1 命令列引數 當你執行q...