原创 顯示dos命令ping和tracert等輸出結果中的ip對應的地域名稱

公司老大今天使用了dos命令ping,他想看到其中ip地址對應的地域名稱。 如dos下命令ping www.qq.com的輸出結果是: 正在 Ping www.qq.com [113.108.20.50] 具有 32 字節的數據: 正在

原创 opensuse12.2的gdb不能自動加載.gdbinit的解決方法

        個人使用gdb調試程序的時候,喜歡在當前目錄下先寫一個.gdbinit,直接運行一個"gdb"命令,就可以快速調試了。         最新的opensuse12.2的gdb版本是GNU gdb (GDB) SUSE (7

原创 用盛金公式求解一元三次方程

      解一元三次方程一般用盛金公式求解,算法高效且求出來的解精確。     百度百科關於盛金公式有如下解釋: 盛金公式   Shengjin'

原创 sdk的windows版本

之所以叫作sdk的windows版本,是因爲我有一個linux版本的linux版本。 windows版本的sdk有以下數據結構: 1 可伸縮性hashtable 2 由紅黑樹實現的map 3 多級hash(tencent非常常用的一種數據

原创 使用vim分割窗口時如何改變窗口的尺寸

         使用vim編程時候,不可避免的要分割窗口。          如果要水平的平分窗口,可以使用”:split“命令,如果要改變窗口尺寸,可以用ctrl + w + +\- 來改變窗口尺寸,這個操作方式等同於命令” :<C-

原创 關於宏的兩個bug

個人用define定義宏的時候,有個習慣,進行宏拓展時候,習慣於把外面傳進來的參數加上小括號使用。 例如: #definesum(x, y)((x) + (y)) 如果要定義宏對結構體進行操作,以前也是使用其指針形式進行操作,所以亦無礙。

原创 關於調用函數gettid的錯誤提示

     在OpenSuse 64 v12.3上調用gettid函數(已經加上頭文件sys/types.h),但是gcc -Werror給出如下錯誤提示:      error: implicit declaration of funct

原创 Windows啓動過程

當你啓動計算機之後,windows的啓動過程就開始執行了。下面是詳細步驟: 1 BIOS執行一些初始系統檢查,並讀取磁盤的第零簇的內容。第零簇內容有一個特殊的稱謂 - 操作系統主引導扇區 MBR(Master Boot Record

原创 在C語言環境下使用google protobuf

        本文寫給經常使用C編程且不喜歡C++而又要經常使用google protobuf的人。        經常寫通訊程序的人對數據進行序列化或者反序列化時,可能經常使用google的protobuf(PB),其優點多多,不用我

原创 怎樣安全的使用可變參數宏__VA_ARGS__

今天遇到一個關於可變參數的問題,下面先給出一個示例程序說明我遇到的問題。0 #include <stdio.h>1 2 #define print(fmt, ...)     out(fmt, __VA_ARGS__)3 #define

原创 數組是否應該初始化?

    程序中的變量初次聲明時,應該初始化。     如:int i = 0;     但是今天一個朋友給瞭如下兩個測試程序,用gcc編譯後,效率還是相差很多的。     下面的函數func中數組沒有初始化,函數被執行1000000次,則

原创 C程序中函數名與宏名稱同名

C語言中,函數名稱和宏名稱可以相同。可以參考下面的示例程序。 ///////////////////////////////////////////test.cpp #include <stdio.h> void print(int va

原创 不借助臨時變量交換兩個變量的值

    如果要交換兩個變量的值,一段典型的代碼如下:    void swap(type& a, type& b)    {        type

原创 C語言關鍵字const再理解

        以往對C語言關鍵字const的理解是一個const類型的常量指針被賦值爲某一塊內存區域的首地址時,這塊內存區域中的數據不可修改。         如代碼const char* string = “abcdefg",此時常量

原创 select的效率一定比epoll低嗎?

一般以爲epoll的效率比select高,當然有人知道這個前提是網絡環境較差且存在大連接(超過10k)的情況下。 網絡上<<epoll內核實現>>一文中列出了下列因素:      select/poll的缺點在於:      1.每次