zoukankan      html  css  js  c++  java
  • 【视频】 Linux高级程序设计01.2开发平台及Linux环境限制

    【课程笔记】

    Linux环境限制

    遵循规范,使用现有资源,明确系统限制,增量开发。

    (1)规范问题

    编码的规范,让程序更易读。Linux编码规范。

    “见着如意”:变量,函数命名等能够让人看到名称就知道大概的用处和功能。

    另外各个单词间全用下划线,全部用小写。

    user_count

    “层次清楚”:代码各个模块逻辑要清楚,多用子函数,多用空行来间隔。

    一般不建议一个函数的代码行数超过80行;

    (2)库的使用

    printf这是一个库函数。加快开发的进度。

    头文件:.h,里面是函数及变量的声明。#include <stdio.h>,Linux下默认的头文件搜索路径:

    系统定义的头文件:

    /usr/include
    /usr/local/include
    /usr/target/include

    自己定义的头文件路径,默认在执行这个程序的路径,即当前

    库文件:

    /lib  (是别人已经开发好的函数编译的目标文件,可重定位的。)
    C函数库。

    math库

    编译时默认链接c库,如果要使用其他的库,编译时要 -l,例如:

    gcc test.c -o test -lm -lc


    ldd 看可执行文件 包含哪些 库文件

    ldd ./test

    (3)系统限制

    本身平台的类型,32位的平台?64位平台?理解

    数据类型的限制:

    limits.h
    ls /usr/include/limits.h 
    cat /usr/include/limits.h # 这里面列出了常见的系统限制,如int类型范围,uint类型范围等;

    float.h

    系统本身的限制:

    系统的资源是有限制的,不可能无限制的申请资源。

    命令行:ulimit 来修改和获取。

    编程时:getrlimit()函数来获取,setrlimit()来设置系统的限制

    man getrlimit

    RLIMIT_CORE:core文件的最大字节数。core文件是系统在某个进程出现异常退出时,系统为其保存的
    上下文信息,在调试程序时经常要用。

    RLIMIT_CPU:CPU时间的最大值(秒);
    RLIMIT_DATA:一个进程数据段的最大字节数;
    RLIMIT_FSIZE:可创建文件的大小的最大值;
    RLIMIT_NOFILE:每个进程可以打开的文件的个数;
    RLIMIT_STACK:进程栈空间的最大值,使系统不会自动的动态修改这个限制;
    RLIMIT_VMEM:虚拟地址空间的最大值;
    RLIMIT_AS:系统进程可用内存空间最大值;
    RLIMIT_FSIZE FCHR_MAX
    RLIMIT_NOFILE OPEN_MAX

  • 相关阅读:
    linux进阶1
    linux中使用mysql数据库
    计算机是如何启动的
    宿主机mount虚拟机镜像文件
    SHA1算法原理
    KVM初始化过程
    关于内存对齐
    thread_info&内核栈
    gradlew compileDebug --stacktrace -info
    Android listview子控件的的点击事件(转)
  • 原文地址:https://www.cnblogs.com/52php/p/5675864.html
Copyright © 2011-2022 走看看