eint claiinfo::ongetcommondata(eint nipcid,eint8* pbpackbuf,eint nreqlen,eint8** ppreply,eint nmsgcode)
二進位制資料拷備:
資料在程序之間是以二進位制數的形式傳輸的,即程序間通訊ipc是用二進位制數傳遞的;
通過ipc傳輸的結構體資料不能用結構體強制型別轉換獲取其中的資料;
這是因為結構體資料有位元組對齊,而二進位制數資料沒有;
如果一定用強制型別轉換要非常小心,只有位元組對齊的情況才可以獲得正確的資料;
typedef struct _ipc_base_structipcbasestr;
如上面的結構體中,在64位機中euint32是4個位元組,edouble是8個位元組,位元組沒有對齊;
結構體的長度是16,二進位制資料報的長度是12...一取就錯!
多執行緒:
同一程序下的兩個執行緒共用一塊堆;
不同的執行緒之間傳遞的變數,必須是在堆中生成的,即new或malloc的記憶體內容;
如果只發單個變數,可用臨時變數;
二進位制數反轉
1 使用了歸併排序的思路 最快 但是時間複雜度比歸併排序要小,每行 都相當於完成了一次歸併 include unsigned revbit unsigned x void main 2 把乙個32位整數按位反轉,即第1位轉到第32位,第2位轉到第31位,依次下去。一牛人寫的演算法如下 unsigne...
二進位制數反轉
1 使用了歸併排序的思路 最快 但是時間複雜度比歸併排序要小,每行 都相當於完成了一次歸併 include unsigned revbit unsigned x void main 2 把乙個32位整數按位反轉,即第1位轉到第32位,第2位轉到第31位,依次下去。一牛人寫的演算法如下 unsigne...
反轉二進位制數
reverse bits of a given 32 bits unsigned integer.for example,given input 43261596 represented in binary as 00000010100101000001111010011100 return 964...