<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      個人筆記

      Neandert

      導航

      C語言出錯處理

           上學的時候寫C代碼(真的是寫,都是寫在紙上的),從沒想過如何處理錯誤。

           今天翻書看到,記錄一下。別笑,我能看懂的都是皮毛。

           1.使用assert宏,原型如下:

        #include <assert.h>

            void assert(int expression);

        作用機制,如果 expression 為0,則先向stderr輸出錯誤信息,然后調用abort終止程序運行。

        assert缺點是影響執行速度,可以使用#define NDEBUG 來禁用assert調用。

        
      1 #include  <stdio.h>
      2 #define NDEBUG
      3 #include <assert.h> 

        2.使用宏__LINE__和__FILE__在出錯的時候顯示出錯的行號及文件名。

        3.使用庫函數

        (1). errno 程序出錯時會把errno設置為一個非0的值。(頭文件 errno.h)

        (2). abort函數 可以是程序異常退出。  (頭文件 stdlib.h)

        (3). exit函數 與abort類似,但在完成清理后才終止,

          如果有atexit函數登記的任務,會調用atexit的執行函數   (頭文件 stdlib.h)

        (4).atexit函數 登記在程序正常終止時要調用的函數  (頭文件   stdlib.h)

        (5).strerror和perror函數,用來打印系統錯誤信息。原型:  

      1 /*strerror*/
      2 #include <stdio.h>
      3 char *strerror(int errnum);
      4 
      5 /*perror*/
      6 #include <stdio.h>
      7 #include <errno.h>
      8 void perror(const char *s);

        4.使用系統日志函數

        syslog和openlog

        openlog可以用來幫助定位信息在日志文件中的位置。

        syslog用來寫入系統日志。syslog可以根據預先定義的級別來寫入日志。一般定義在LOG_ERR 和 LOG_NOTICE之間。

       

       

      posted on 2010-12-09 23:35  Neandert  閱讀(525)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲中文无码手机永久| 丰满多毛的大隂户视频| 亚洲综合成人一区二区三区| 亚洲国产精品综合久久2007| 亚洲国产精品一二三四区| 东京热一精品无码av| 国产精品成人午夜福利| 欧美偷窥清纯综合图区| 国产va免费精品观看| 国产精品无码素人福利不卡| 摸丰满大乳奶水www免费| 亚洲高清国产成人精品久久| 国产99视频精品免费专区| 日韩人妻无码精品久久| 国产麻豆精品手机在线观看| 亚洲永久精品ww47永久入口| 亚洲AV日韩AV综合在线观看| 高级会所人妻互换94部分| 国产熟女一区二区五月婷| 国产不卡一区二区精品| 最近中文字幕国产精品| 亚洲国产一区二区三区亚瑟| 亚洲精品成人A在线观看| 中文无码热在线视频| 牛牛视频一区二区三区| 日韩精品亚洲精品第一页| 人妻久久久一区二区三区| 国产最新进精品视频| 亚洲国产激情一区二区三区| 成年午夜免费韩国做受视频| 精品一区二区三区国产馆| 亚洲国产天堂久久综合226114| 成人一区二区不卡国产| 国产一区二三区日韩精品| 精品久久久久久无码不卡| 久久午夜私人影院| 汶上县| 亚洲日本精品一区二区| 婷婷综合亚洲| 精品2020婷婷激情五月| 國產尤物AV尤物在線觀看|