【课程笔记】

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

最新文章

  1. CentOS安装Redis
  2. Python模块和包
  3. table清除样式大全
  4. 2.3 CMMI2级——项目跟踪和控制(Project Monitoring and Control)
  5. CentOS学习笔记&mdash;软件管理程序RPM、YUM
  6. arm Linux 系统调用过程
  7. BDIA增强
  8. 负载均衡,最理想使用 redis实现session共享
  9. 【FFmpeg】FFmpeg常用基本命令
  10. LeetCode 442. Find All Duplicates in an Array (在数组中找到所有的重复项)
  11. Linux系统 磁盘IO过高排查总结
  12. react native进一步学习(NavigatorIOS 学习)
  13. [PHP]命名空间的一些要点
  14. ARM64 Linux kernel virtual address space
  15. Skyline从5.1升级版本到6.5的常见接口变化问题
  16. jenkins+maven+svn构建项目,及远程部署war包到tomcat上
  17. jdk1.8+SpringAOP注解报java.lang.IllegalArgumentException: error at ::0 can&#39;t find referenced pointcut select错误的不知原因的解决办法[仅供参考]
  18. Count 1 in Binary
  19. IPHONE 64位和32位
  20. Flink中的数据传输与背压

热门文章

  1. UVa 11374 - Airport Express ( dijkstra预处理 )
  2. HTML5的JavaScript选择器介绍
  3. 【bzoj2506】calc 根号分治+STL-vector+二分+莫队算法
  4. [CF1045C]Hyperspace Highways
  5. 2017 多校2 hdu 6053 TrickGCD
  6. javascript的Date操作(月初,月末)
  7. bzoj1861 [Zjoi2006]Book 书架 splay
  8. Windows.Forms Panel 动态加载用户控件 UserControl
  9. 货车运输(LCA+最大生成树)
  10. php+ajax+jquery分页并显示数据