• <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 選項(xiàng)。
            -l表示使用庫,m為數(shù)學(xué)庫。
            =================
            Linux程序設(shè)計(jì)中的一個(gè)例子:
            #include <sys/types.h>
            #include 
            <sys/resource.h>
            #include 
            <sys/time.h>
            #include 
            <unistd.h>
            #include 
            <stdio.h>
            #include 
            <math.h>

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

                f 
            = tmpfile(); // 創(chuàng)建臨時(shí)文件
                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 函數(shù)先調(diào)用 work, 再調(diào)用 getrusage 函數(shù)查看它使用了多少 CPU 時(shí)間。把這些資料顯示在屏幕上。
            int main()
            {
                
            struct rusage r_usage;
                
            struct rlimit r_limit;
                
            int priority;

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

                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 程序本身執(zhí)行它的指令所消耗的時(shí)間
                       r_usage.ru_stime.tv_sec, r_usage.ru_stime.tv_usec);   // r_usage.ru_stime OS由于這個(gè)程序而消耗的 CPU 時(shí)間

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

                
            /// 通過 setrlimit 函數(shù)設(shè)置了一個(gè)文件長度限制。
                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);

                
            /// 然后再次調(diào)用 work 失敗,因?yàn)樗鼑L試創(chuàng)建的文件尺寸過大。
                work();

                exit(
            0);

            }

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

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

            編譯時(shí)加上 -lm 選項(xiàng):
            [green@colorfulgreen environ]$ gcc limits.c -lm -o limits

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






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

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            国产毛片欧美毛片久久久| 国产99精品久久| 理论片午午伦夜理片久久| 国产三级精品久久| 亚洲综合久久久| 久久九九精品99国产精品| 国产亚洲精久久久久久无码| 99久久国产亚洲高清观看2024| 久久久久亚洲精品天堂久久久久久| 久久乐国产综合亚洲精品| 久久亚洲春色中文字幕久久久| 日本免费久久久久久久网站| 久久人妻少妇嫩草AV蜜桃| 中文无码久久精品| 久久国产福利免费| 国内精品伊人久久久久av一坑| 久久中文字幕视频、最近更新| 久久夜色精品国产网站| 欧美久久一级内射wwwwww.| 久久99精品久久久久久久久久| 久久综合九色欧美综合狠狠| 午夜久久久久久禁播电影 | 久久亚洲国产精品123区| 伊人久久无码中文字幕| 精品无码久久久久久久动漫| 久久超乳爆乳中文字幕| 久久精品国产乱子伦| 久久亚洲精品无码观看不卡| 久久亚洲精品视频| 亚洲国产视频久久| 精品乱码久久久久久夜夜嗨| 久久国产精品久久国产精品| 久久国产欧美日韩精品| 无码人妻久久一区二区三区免费丨| 久久免费大片| 久久精品国产一区二区电影| 国产成人99久久亚洲综合精品| 99久久国产亚洲高清观看2024 | 久久综合给合久久狠狠狠97色| 综合久久给合久久狠狠狠97色| 久久久久久久综合综合狠狠|