• <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 小默 閱讀(1646) 評論(0)  編輯 收藏 引用 所屬分類: Linux

            導航

            統計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久久久人妻一区二区三区| 亚洲国产精品综合久久网络| 狠狠狠色丁香婷婷综合久久俺| 一本色道久久88加勒比—综合| 亚洲欧洲精品成人久久曰影片| 亚洲精品无码久久久久sm| 91精品国产高清久久久久久国产嫩草 | 丁香久久婷婷国产午夜视频| 精品久久久一二三区| 欧美一区二区精品久久| 久久婷婷是五月综合色狠狠| 久久美女人爽女人爽| 97精品国产97久久久久久免费 | 久久精品国产亚洲沈樵| 波多野结衣AV无码久久一区| 久久精品中文字幕一区| 成人国内精品久久久久一区| 大香伊人久久精品一区二区| 国内精品免费久久影院| 亚洲国产精品久久久久网站| 久久99久久99精品免视看动漫| 久久久亚洲裙底偷窥综合| 欧美粉嫩小泬久久久久久久 | 少妇熟女久久综合网色欲| 久久精品国产亚洲7777| 国产日韩久久久精品影院首页| 久久精品国产亚洲av水果派| 国产毛片欧美毛片久久久 | 无码乱码观看精品久久| 久久99精品久久久久久不卡| 四虎国产精品免费久久5151| 久久免费小视频| 91精品无码久久久久久五月天| 97精品久久天干天天天按摩| 国产成人精品白浆久久69| 国产精品久久网| 久久久91人妻无码精品蜜桃HD| 婷婷久久综合| 亚洲乱码中文字幕久久孕妇黑人| 影音先锋女人AV鲁色资源网久久| 精品久久久久久国产|