【视频】 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高级程序设计01.2开发平台及Linux环境限制的更多相关文章
- 【视频】Linux高级程序设计01.1开发工具及gcc gdb
[课程笔记] Linux 下编辑调试工具,gcc,gdb. 把高级语言编译成二进制可执行代码的工具. 需要经历四个步骤: (1) 预处理:去掉注释,进行宏替换(#define相关),头文件(#incl ...
- 【视频】Linux高级程序设计01.3命令行选项及参数
[课程笔记] [命令行参数] 选项:-l -a -i 参数:-l /home main 函数形式: int main(int argc, char *argv[]) main函数是有参数的,而且有返回 ...
- 【linux高级程序设计】(第十章)Linux异步信号处理机制 3
信号屏蔽 信号忽略:系统仍然传递该信号,只是相应的进程不做任何处理 信号屏蔽:进程不捕获信号,信号处于未决状态,当不再屏蔽信号时可以捕获之前被屏蔽的信号. 信号集数据结构定义: typedef __s ...
- 【5集iCore3_ADP演示视频】5-4 iCore3与应用开发平台的组装与拆卸
iCore3双核心应用开发平台基于iCore3双核心板,包含ARM.FPGA.7寸液晶屏.双通道数字示波器.任意波发生器.电压表等模块,是一款专为电子爱好者设计的综合性电子学习系统. [视频简介]本视 ...
- linux下怎么安装Go开发环境?linux部署golang
linux下怎么安装Go开发环境?linux部署golang 0.请自行安装SSH远程工具 1. SSH远程登录你的linux服务器 2. yum install mercurial安装 me ...
- 由Windows开发平台向Linux平台转移的一些想法
从毕业到现在已经快20年了,一直在从事Windows平台上的开发工作.刚毕业那会大约是97,98年左右,工作的平台除了Windows平台还有Dos平台,因为在学校学习时,也是从Dos开始的.因此对于从 ...
- 【linux高级程序设计】(第八章)进程管理与程序开发 5
守候进程 启动方式: 在系统启动时由/etc/rd.d目录下的启动脚本启动 利用inetd超级服务器启动 有cron命令定时启动,以及在终端用nohup命令启动 守护进程编程要点 (1)屏蔽有关控制终 ...
- Linux高级编程--01.vi命令
VI是Linux/Unix下标配的一个纯字符界面的文本编辑器.由于不支持鼠标功能,也没有图形界面,相关的操作都要通过键盘指令来完成,需要记忆大量命令.因此很多人不大喜欢它,但同时由于键盘的方式往往比鼠 ...
- 【linux高级程序设计】(第十六章)网络服务器应用设计
xinetd服务介绍 xinetd是Linux下的一个网络守候进程,用来统一管理网络负载不大的一组小型网路服务. 一些小型的网络服务,比如时间,telnet服务,不以守候进程出现,而是让xinetd服 ...
随机推荐
- iptables的配置文件/etc/sysconfig/iptables不存在 linux防火墙开关命令
某linux服务器,使用 cat /etc/sysconfig/iptables命令时, 找不到文件. 1. service iptables status 使用该命令检查状态 如果之前找不到配置文件 ...
- 存储 磁盘大于2TB 大数据存储一个盘 解决方法
1.vmware虚拟机环境下可以做裸映射 但是一个存储 只能对应一个虚拟主机裸映射 我已经在一个10TB的存储上做好多个主机,就不适用了 2.在虚拟机上添加5个2TB磁盘,磁盘管理中新建 带区卷 可以 ...
- 安装JDK以及配置Java运行环境
安装JDK以及配置Java运行环境 1.JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2 ...
- [洛谷P1501][国家集训队]Tree II
题目大意:给一棵树,有四种操作: $+\;u\;v\;c:$将路径$u->v$区间加$c$ $-\;u_1\;v_1\;u_2\;v_2:$将边$u_1-v_1$切断,改成边$u_2-v_2$, ...
- 【飞天奔月出品】memcached四大注意事项(key长度,空格限制,最大item)
1. key值最大长度? memcached的key的最大长度是250个字符. 注意250是memcached服务器端内部的限制(可以修改) 如果您使用的客户端支持"key的前缀&quo ...
- [01]关于TDD、BDD和DDD的一些看法
在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式. 比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种 ...
- 模拟Json格式传值请求与数据接收
a.php代码: function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, ...
- 【ZOJ4070】Function and Function(签到)
题意:求 k 层嵌套的 f(x) 0<=x,k<=1e9 思路:迭代不会很多次后函数里就会=0或者1,再看层数奇偶直接返回答案 #include<cstdio> #includ ...
- linux.backspace乱码(转)
42 linux.backspace乱码 linux环境sqlplus中使用backspace键出现乱码的解决方法2008-04-30 16:32 在linux环境下使用sqlplus,在回删(bac ...
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1)用法
http://www.cnblogs.com/sunnyjones/articles/798237.html 這個函数是對應著 glDrawPixels 而來的, 因為效率考慮, 所以, OpenGL ...