• <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)先級(jí)和文件長度限制
                priority = getpriority(PRIO_PROCESS, getpid()); // PRIO_PROCESS 表示后面是進(jìn)程標(biāo)識(shí)符
                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) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Linux

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            久久人妻少妇嫩草AV蜜桃| 色妞色综合久久夜夜| 久久99精品国产麻豆婷婷| 欧美激情精品久久久久久久九九九 | 国产精品一久久香蕉国产线看| 欧洲人妻丰满av无码久久不卡| 久久中文字幕一区二区| 久久精品国产亚洲av瑜伽| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 国产精品一久久香蕉国产线看| 国产一区二区精品久久凹凸 | 日韩久久久久久中文人妻 | A级毛片无码久久精品免费| 亚洲伊人久久综合中文成人网| 久久w5ww成w人免费| 2021国产精品久久精品| 国产国产成人精品久久| 久久久久高潮综合影院| 国产一区二区精品久久凹凸| 久久久久人妻精品一区二区三区| 久久伊人影视| 久久99精品国产麻豆蜜芽| 99久久人妻无码精品系列| 人人妻久久人人澡人人爽人人精品| 久久综合九色综合久99| 亚洲AV无码1区2区久久| 色老头网站久久网| 久久综合色之久久综合| 国产亚洲色婷婷久久99精品91| 2021少妇久久久久久久久久| 亚洲va国产va天堂va久久| 国产69精品久久久久9999APGF| 伊人久久一区二区三区无码| 青春久久| 思思久久99热只有频精品66| 久久青青色综合| 久久免费视频1| 伊人久久大香线蕉综合Av| 精品综合久久久久久888蜜芽| 久久久久亚洲av无码专区| 国产午夜精品理论片久久影视|