zoukankan      html  css  js  c++  java
  • linux 系统调用sysconf函数使用【转】 sky

    转自:https://blog.csdn.net/wallwind/article/details/49696021

    在看开源代码的时候,尤其是获取cpu核数的时候,发现了一个很好用的一个函数

    #include <unistd.h>

    long sysconf(int name);

    通过名字可以猜到,该函数是获取一些系统的参数。然后通过man sysconf

    我们可以知道该函数的使用条件,


    POSIX allows an application to test at compile or run time whether certain options are supported, or what the value is of certain configurable
    constants or limits.


    At compile time this is done by including <unistd.h> and/or <limits.h> and testing the value of certain macros.


    At run time, one can ask for numerical values using the present function sysconf(). On can ask for numerical values that may depend on the
    file system a file is in using the calls fpathconf(3) and pathconf(3). One can ask for string values using confstr(3).

    大概 意思就是我们可以通过相关选项,来获取编译或者运行时的一些系统参数值。比如或许cpu核数,内存大小,一个进程大打开文件的大小


    使用下面的一个实例,看一下我的电脑的一些配置信息

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>

    int main()
    {
    printf("Size of a page in bytes:%ld\n",sysconf(_SC_PAGESIZE));
    printf("Max length of a hostname:%ld\n",sysconf(_SC_HOST_NAME_MAX));
    printf(" The maximum number of files that a process can have open at any time.:%ld\n",sysconf(_SC_OPEN_MAX));
    printf(" The number of clock ticks per second.:%ld\n",sysconf(_SC_CLK_TCK));
    printf("The number of processors currently online .:%ld\n",sysconf(_SC_NPROCESSORS_ONLN));
    printf("The number of processors configured..:%ld\n",sysconf(_SC_NPROCESSORS_CONF));
    return 0;
    }
    输出信息:

    Size of a page in bytes:4096
    Max length of a hostname:64
    The maximum number of files that a process can have open at any time.:1024
    The number of clock ticks per second.:100
    The number of processors currently online .:1
    The number of processors configured..:1

    这里只列举了一点点:具体还是要看man page里的东西。
    ————————————————
    版权声明:本文为CSDN博主「wintree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wallwind/article/details/49696021

    【作者】张昺华
    【大饼教你学系列】https://edu.csdn.net/course/detail/10393
    【新浪微博】 张昺华--sky
    【twitter】 @sky2030_
    【微信公众号】 张昺华
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    css中的元素旋转
    display:inlineblock的深入理解
    js时间获取。
    长英文自动换行的最终解决方法
    jqery图片展示效果
    链接A引发的思考
    电子邮件制作规范和建议
    overflow与textindent:9999px 字体隐藏及input value偏移
    jQuery load的详解
    转载:前端调试利器DebugBa
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/15649117.html
Copyright © 2011-2022 走看看