編譯多執行緒應用程式的第一步是要確保編譯器使用了正確的執行時庫:ms為c執行時庫提供了幾個不同的實現。這些版本在以下3個標準上有所不同:鏈結方式(靜態or動態)、是否可再入(有乙個庫是為單執行緒應用程式設計的,是不可再入的;另乙個庫是為多執行緒設計的,是可再入的)、以及是否包含除錯符號。
開關 含義
/mt 使用靜態鏈結的多執行緒應用程式
/mtd
多執行緒應用程式除錯使能
/md 多執行緒動態鏈結庫
/mdd
多執行緒動態鏈結庫除錯 使能
支援c程式的微軟多執行緒庫:
程式型別
c執行時庫
多執行緒程式
libcmt.lib
支援除錯的多執行緒程式
libcmtd.lib
多執行緒dll程式
msvcrt.lib(msvcrt.dll的引入庫)
支援除錯的dll程式
msvcrtd.lib(msvcrtd.dll的引入庫)
支援c++程式的微軟多執行緒庫:
程式型別
c++執行時庫
多執行緒程式
libcpmt.lib
支援除錯的多執行緒程式
libcpmtd.lib
多執行緒dll程式
msvcprt.lib(也使用msvcrt.dll)
支援除錯的dll程式
msvcprtd.lib(也使用msvcrtd.dll)
開發人員不能在單個程序空間中混合使用靜態和動態庫。當乙個exe檔案用到乙個dll時,需要有開發人員保證使用相同版本的c執行時庫來正確的構建exe和dll。
more:
建立多執行緒應用程式
定義命名空間在.net中,多執行緒功能是在system.threading命名空間中定義的。usingsystem.threading 啟動執行緒system.threading命名空間中的thread類代表乙個執行緒物件,用這個類物件可以建立新的執行緒,刪除 暫停和恢復執行緒。下面的 使用thre...
建立多執行緒應用程式
定義命名空間 在.中,多執行緒功能是在system.threading命名空間中定義的。usingsystem.threading 啟動執行緒 system.threading命名空間中的thread類代表乙個執行緒物件,用這個類物件可以建立新的執行緒,刪除 暫停和恢復執行緒。下面的 使用threa...
建立多執行緒應用程式
定義命名空間 在.net中,多執行緒功能是在system.threading命名空間中定義的。using system.threading 啟動執行緒 system.threading命名空間中的thread類代表乙個執行緒物件,用這個類物件可以建立新的執行緒,刪除 暫停和恢復執行緒。下面的 使用t...