• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小默

            gcc math.h -lm

            程序中用到 math.c,使用 gcc 編譯,需要加上 -lm 選項。
            -l表示使用庫,m為數學庫。
            =================
            Linux程序設計中的一個例子:
            #include <sys/types.h>
            #include 
            <sys/resource.h>
            #include 
            <sys/time.h>
            #include 
            <unistd.h>
            #include 
            <stdio.h>
            #include 
            <math.h>

            /// 向一個臨時文件寫一個字符串10000次,然后進行一些數學運算,目的是制造一些CPU負荷
            void work()
            {
                FILE 
            *f;
                
            int i;
                
            double x = 4.5;

                f 
            = tmpfile(); // 創建臨時文件
                for(i = 0; i < 10000; i++){
                    fprintf(f, 
            "Do some output\n");
                    
            if(ferror(f)){ //TODO ferror?
                        fprintf(stderr, "Error writing to temporary file\n");
                        exit(
            1);
                    }
                }

                
            for(i = 0; i < 1000000; i++)
                    x 
            = log(x*+ 3.21);
            }

            /// main 函數先調用 work, 再調用 getrusage 函數查看它使用了多少 CPU 時間。把這些資料顯示在屏幕上。
            int main()
            {
                
            struct rusage r_usage;
                
            struct rlimit r_limit;
                
            int priority;

                work();
                getrusage(RUSAGE_SELF, 
            &r_usage); // 只返回當前程序的 CPU 占用時間

                printf(
            "CPU usage: User = %ld.%06ld, System = %ld.%06ld\n",
                       r_usage.ru_utime.tv_sec, r_usage.ru_utime.tv_usec,    
            // r_usage.ru_utime 程序本身執行它的指令所消耗的時間
                       r_usage.ru_stime.tv_sec, r_usage.ru_stime.tv_usec);   // r_usage.ru_stime OS由于這個程序而消耗的 CPU 時間

                
            /// 調用 getpriority 和 getrlimit 函數分別查出自己的當前優先級和文件長度限制
                priority = getpriority(PRIO_PROCESS, getpid()); // PRIO_PROCESS 表示后面是進程標識符
                printf("Current priority = %d\n", priority);
                getrlimit(RLIMIT_FSIZE, 
            &r_limit); // 讀取以字節計的文件長度限制到 r_limit 中
                printf("Current FSIZE limit: soft = %ld, hard = %ld\n",
                          r_limit.rlim_cur, r_limit.rlim_max);  
            // rlim_cur 軟限制, rlimt_max 硬限制

                
            /// 通過 setrlimit 函數設置了一個文件長度限制。
                r_limit.rlim_cur = 2048;    // 軟限制2M
                r_limit.rlim_max = 4096;    // 硬限制4M
                printf("Setting a 2K file size limit\n");
                setrlimit(RLIMIT_FSIZE, 
            &r_limit);

                
            /// 然后再次調用 work 失敗,因為它嘗試創建的文件尺寸過大。
                work();

                exit(
            0);

            }

            編譯:
            [green@colorfulgreen environ]$ gcc limits.c -o limits

            報錯:
            /tmp/ccxW94yi.o: In function `work':
            limits.c:(.text+0xaf): undefined reference to `log'
            collect2: ld returned 1 exit status

            編譯時加上 -lm 選項:
            [green@colorfulgreen environ]$ gcc limits.c -lm -o limits

            Done.
            ============
            PS:為嘛這個編輯器插入代碼時最前面不能有下面這幾行T_T
            /**
              * 資源限制
            **/






            posted on 2010-08-05 09:04 小默 閱讀(1625) 評論(0)  編輯 收藏 引用 所屬分類: Linux

            導航

            統計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久精品国产一区二区电影| 久久天天躁狠狠躁夜夜躁2O2O| 曰曰摸天天摸人人看久久久| 99久久伊人精品综合观看| 久久露脸国产精品| 亚洲女久久久噜噜噜熟女| 国产精品久久久久影院色 | 久久天天躁狠狠躁夜夜躁2014| 久久天天躁夜夜躁狠狠躁2022 | 久久精品国产亚洲av麻豆色欲| 久久亚洲国产中v天仙www| 久久亚洲中文字幕精品一区四| 精品伊人久久大线蕉色首页| 国产免费久久久久久无码| 亚洲午夜久久久久妓女影院 | 亚洲伊人久久成综合人影院 | 日本精品久久久中文字幕| 狠狠色丁香久久婷婷综合图片| 777久久精品一区二区三区无码| 91久久精品无码一区二区毛片| 久久久久高潮综合影院| 91精品国产高清久久久久久91 | 国产99久久精品一区二区| 色婷婷噜噜久久国产精品12p| 久久精品九九亚洲精品| 波多野结衣AV无码久久一区| 久久久精品国产Sm最大网站| 国产精品久久永久免费| 久久婷婷成人综合色综合| 色播久久人人爽人人爽人人片AV| 久久久久久久国产免费看| 国产 亚洲 欧美 另类 久久 | 久久久久免费看成人影片| 久久精品一本到99热免费| 亚洲国产精品综合久久一线 | 亚洲国产一成人久久精品| 一级a性色生活片久久无| 一本大道久久东京热无码AV| 久久精品国产99久久香蕉| 久久精品二区| 亚洲欧美精品一区久久中文字幕|