一:解決塊注釋/**/不能巢狀的問題:
我們知道行注釋//可以多層巢狀和逐層取消,而塊注釋/**/不能巢狀或不能與//混用,否則有可能出現編譯錯誤。通常我們在程式除錯時如果要取消一大段**,可以用條件編譯#if 0 #endif實現
二:避免標頭檔案的重複包含:
假如a.h中自定義了乙個結構體,在b.h和c.h中都又自定義了乙個結構體(其成員有a.h的結構體內容,所以b.h和c.h都包含了a.h),而在.c中又用到了b.h和c.h的結構體(所以包含了b.h和c.h),此時因為多次包含了a.h所以編譯器會報錯,此時只要在a.h中使用#ifndef _debug__ #define _debug__ ....#endif.
三 巨集的巢狀包含:
#define aa 1
#define bb 1
void main(void)
#ifdef aa
…… #if bb //巢狀的巨集,這裡不能再用#ifdef,
…… //否則bb是0也會執行這些**,
#else //而這#else不會被執行
……#endif
#else
……#endif
或者這樣也行
#define aa //使用巨集定義做控制開關,此時#ifdef可巢狀
#define bb //使用巨集定義做控制開關,要關閉時,直接注釋掉
int main()
Redis 快取處理的幾個問題
目錄 問題一 快取穿透 問題二 快取擊穿 問題三 快取雪崩 測試 說明 利用redis與mysql資料庫的機制 redis中一旦不存在查詢的ksy,就訪問mysql 直接繞過快取,訪問myslq,而製造db的請求壓力 解決 將從mysql請求出的空存入redis一定時間 說明 某一熱點key在高併發...
幾個問題的
1.寫乙個函式返回引數二進位制中 1 的個數 比如 15 0000 1111 4 個 1 程式原型 int count one bits unsigned int value 解 無符號整型為32位,所以利用迴圈32次,逐個判斷二進位制每一位是不是1 int count one bits unsig...
TCP連線的幾個問題的處理
問題一 accept4 too many open files retrying in 640ms或者 dial tcp 127.0.0.1 8080 socket too many open files都是socket的數量,即檔案描述符的數量不夠用了,解決方法,增加檔案描述符的數量 ulimit...