• <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)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            国产精品久久影院| a级毛片无码兔费真人久久| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国产午夜精品理论片久久| 国产成人精品久久亚洲| 久久国产精品一区| 久久精品国产精品亚洲毛片| 亚洲国产二区三区久久| 亚洲国产精品无码成人片久久| 久久精品国产99国产精品澳门| 久久久亚洲裙底偷窥综合| 久久精品国产精品国产精品污 | 精品视频久久久久| 久久久久久毛片免费播放| 久久精品亚洲欧美日韩久久| 久久精品国产亚洲av影院| 一本色综合久久| 激情五月综合综合久久69| 久久久国产乱子伦精品作者| 久久免费视频1| 99久久久久| 人妻丰满AV无码久久不卡| 亚洲午夜福利精品久久| 久久久久夜夜夜精品国产| 99久久免费国产特黄| 久久久久av无码免费网| 久久综合色之久久综合| 久久这里都是精品| 久久精品一区二区影院| 99久久久久| 久久99久久成人免费播放| 国产精品欧美久久久久天天影视| avtt天堂网久久精品| 伊人久久综合热线大杳蕉下载| 无码国内精品久久人妻| 久久男人Av资源网站无码软件 | 久久综合综合久久97色| 97久久精品国产精品青草| 97久久香蕉国产线看观看| 久久99国产精品久久| 99久久无码一区人妻|