Time of Update: 2018-12-03
boost的線程庫不能強行終止,所以通過time_wait可以讓其自然的結束 1 #include <iostream> 2 #include <boost/thread/thread.hpp> 3 #include <boost/thread/mutex.hpp> 4 #include <boost/thread/condition.hpp> 5 #include <boost/date_time/posix_time/posix_time
Time of Update: 2018-12-03
wxDatagramSocket BroadCast [轉貼 2009-09-16 16:08:29] 字型大小:大 中 小wxSocketBase::Initialize();wxIPV4address BroadCastAddress; // For broadcast sending wxIPV4address LocalAddress; // For the
Time of Update: 2018-12-03
硬碟MBR一、硬碟的物理結構: 硬碟儲存資料是根據電、磁轉換原理實現的。硬碟由一個或幾個表面鍍有磁性物質的金屬或玻璃等物質碟片以及碟片兩面所安裝的磁頭和相應的控制電路組成(圖1),其中碟片和磁頭密封在無塵的金屬殼中。 硬碟工作時,碟片以設計轉速高速旋轉,設定在碟片表面的磁頭則在電路控制下徑向移動到指定位置然後將資料存放區或讀取出來。當系統向硬碟寫入資料時,磁頭中“寫資料”電流產生磁場使碟片表面磁性物質狀態發生改變,並在寫電流磁場消失後仍能保持,這樣資料就儲存下來了;當系統從硬碟中讀資
Time of Update: 2018-12-03
boost::weak_ptr 和 enable_shared_from_this shared_ptr 在我的實踐中使用很廣 , 在介面層面上 , 我基本都會預設的使用 shared_ptr. 而 weak_ptr 則很少使用 ; 即便使用 , 也是間接的使用 , 例如使得 class
Time of Update: 2018-12-03
1. 目的TFTP是一個傳輸檔案的簡單協議,它其於UDP協議而實現,但是我們也不能確定有些TFTP協議是基於其它傳輸協議完成的。此協議設計的時候是進行小檔案傳輸的。因此它不具備通常的FTP的許多功能,它只能從檔案伺服器上獲得或寫入檔案,不能列出目錄,不進行認證,它傳輸8位元據。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另一種是octet,這是8位來源資料類型;最後一種mail已經不再支援,它將返回的資料直接返回給使用者而不是儲存為檔案。2.
Time of Update: 2018-12-03
在powerpc上安裝好ubuntu之後,也發現了一些問題,最主要的一個問題是:系統預設安裝了zh_CN.UTF-8作為locale,並且無法改變(應該是我沒有找到辦法吧?不過這一點上debian做得很好啊,用base-config就可以改變locale,很方便。在ubuntu中是使用dpkg-reconfigure無線空間 F ? w.l/l
Time of Update: 2018-12-03
TFTP(TrivialFileTransferProtocol)即簡單檔案傳送協議,最初打算用於引導無盤系統(通常是工作站或X終端)。和將在第27章介紹的使用TCP的檔案傳送協議(FTP)不同,為了保持簡單和短小,TFTP將使用UDP。TFTP的代碼(和它所需要的UDP、IP和裝置驅動程式)都能適合唯讀記憶體。(BootstrapProtocol)中還會遇到TFTP。在圖5-1中,當從網路上引導sun主機時,也曾遇到過TFTP,sun主機通過RARP獲得它的IP地址後,將發出一個TFTP請求。
Time of Update: 2018-12-03
第一次使用wxWidgets編寫動態庫(DLL和LIB)時,編寫的命令:第1步:hello.bkl檔案<?xml version="1.0"?><makefile> <include file="presets/simple.bkl"/> <lib id="hellolib"> <libname>hello</libname> <sources>hello.c </sources>
Time of Update: 2018-12-03
VC2005中,使用了很多標準的C函數,比如fopen,strcpy之類的。編譯時間會出現警告,比如這個: d:\xxxx.c(1893) : warning C4996: “strcpy”被聲明為否決的 緊接著IDE有提示說:“This function or variable may be unsafe. Consider using strcpy_s instead... 可是My Code只是借VS2005的IDE環境開發而已,以後是要移植到別的ANSI
Time of Update: 2018-12-03
空間分配 接下來我們要考慮記憶體配置資訊的組織問題了。我們先來瞭解一下編譯器是怎麼組織的。在大部分編譯器中,new所分配的空間都要大於實際申請的空間,大出來的部分就是編譯器定義的記憶體塊的資訊,包括了記憶體塊的大小還有一些其他資訊。如所示:
Time of Update: 2018-12-03
rc檔案VS_VERSION_INFO中 FILEVERSION 鍵的值每段不能超過255,切記您可以編寫程式來修改資源編譯器 (.rc) 檔案,而不是使用此處所述的步驟。但是,RC 檔案是 Visual c + + 的控制之下。visual c + + 修改 RC 檔案,在儲存時,這可能會影響版本資源。本節中介紹的方法可應用於任何 Visual c + + 項目。此樣本使用 Microsoft 基礎類項目。建立新的項目使用 MFC (EXE) Appwizard 並調用它 MyProject。
Time of Update: 2018-12-03
此文介紹了UTF8和GB2312間的互換並提供代碼,但是代碼有誤,現修改如下:class CChineseCodeLib {public:static void UTF_8ToGB2312(string& pOut,char *pText, int pLen);static void GB2312ToUTF_8(string& pOut,char *pText, int pLen);// Unicode 轉換成UTF-8static void
Time of Update: 2018-12-03
windows 方法:u_long mode = 0;ioctlsocket(s,FIONBIO,&mode);控製為阻塞方式。u_long mode = 1;ioctlsocket(s,FIONBIO,&mode);控製為非阻塞方式。 setsockopt() 簡述: 設定套介面的選項。 #include <winsock.h> int PASCAL FAR setsockopt( SOCKET s, int level, int
Time of Update: 2018-12-03
三個SDK函數: WinExec,ShellExecute ,CreateProcess可以實現調用其他程式的要求,其中以WinExec最為簡單,ShellExecute比WinExec靈活一些,CreateProcess最為複雜。 WinExec 兩個參數,前一個指定路徑,後一個指定顯示方式。 ShellExecute 可以指定工作目錄,並且還可以尋找檔案的關聯直接開啟不用載入與檔案關聯的應用程式,ShellExecute還可以開啟網頁,啟動相應的郵件關聯發送郵件等等。
Time of Update: 2018-12-03
在發送方:對於相同時刻的音頻/視訊框架,打上相同的時間戳記(系統時間)接收方:儲存兩個隊列,audio/video分別用來存放還未播放的音頻和視頻1。當每接收到音訊框架的時候,遍曆此時的video隊列,將此音訊框架的時間戳記跟每個視訊框架的時間戳記進行比較:1)如果音訊框架的時間在這個視訊框架的前面,幀播放該音頻2)如果音頻跟視頻的時間戳記相差在某個可以接受的誤差內,則同時播放該音頻/視頻(並將視訊框架從video隊列中刪除)3)如果視頻時間在前,則播放視訊框架(並將視訊框架從video隊列中
Time of Update: 2018-12-03
一.預先處理宏1. 通用宏VC6.0中:Project SettingàC/C++àPreprocessor definitionsVC2005中:項目屬性à配置屬性àC/C++à前置處理器定義 WIN32:指明是Window 32位系統的編譯器,一般用作平台識別。_MBCS/_UNICODE:指明該工程使用的字元集(多位元組字元集/UNICODE)。在VC6.0的“Project SettingàC/C++àProject Options”處將會有/D "_MBCS"或/D
Time of Update: 2018-12-03
在所有的預先處理指令中,#Pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。#pragma指令對每個編譯器給出了一個方法,在保持與C和C++語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同的。其格式一般為: #Pragma Para其中Para 為參數,下面來看一些常用的參數。 (1)message 參數。 Message
Time of Update: 2018-12-03
VC _T的用途VC++裡面定義字串的時候,用_T來保證相容性。VC++支援ascii和unicode兩種字元類型,用_T可以保證從ascii編碼類別型轉換到unicode編碼類別型的時候,程式不需要修改。如果將來你不打算升級到unicode,那麼也不需要_T。_t("hello
Time of Update: 2018-12-03
CString是一個動態TCHAR數組,BSTR是一種專有格式的字串(需要用系統提供的函數來操縱,LPCTSTR只是一個常量的TCHAR指標。CString 是一個完全獨立的類,動態TCHAR數組,封裝了 + 等操作符和字串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各種字串的標記法 首先char* 是指向ANSI字元數組的指標,其中每個字元佔據8位(有效資料是除掉最高位的其他7位),這裡保持了與傳統的C,C+
Time of Update: 2018-12-03
Unicode是Unicode.org制定的編碼通訊協定,目前得到了絕大部分[請注意文明用語]作系統和程式設計語言的支援。Unicode.org官方對 Unicode的定義是:Unicode provides a unique number for every character。可見,Unicode所做的是為每個字元定義了一個相應的數字表示。比如,“a“的Unicode值是0x0061,“一”的