Linux-2018-spring-3-13
跳到导航
跳到搜索
一、复习上节课的内容
- 硬件组成
- 操作系统的功能(os functions)
1、为普通用户提供界面(CLI、GUI) 2、为程序员提供API 3、管理硬件资源,为软件提供运行环境
- git版本控制
二、linux/unix 环境编程
- C语言指针
1、多维动态数组(m*n*d*l 4维数组)int a[10]静态数组; int a[n] 不能直接这样定义
2、当程序执行起来以后,内存分为两部分,一是栈,二是堆(动态变量区),三、代码段,四、静态变量区(全局变量)
a、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
b、堆区(heap)— 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
c、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放
d、文字常量区 —常量字符串就是放在这里的。程序结束后由系统释放
e、程序代码区(text)—存放函数体的二进制代码。
void foo(int n)
{
int a #static
int b[10] #static variable; local variable;
int *c =(int *)malloc(n*sizeof(int))#dynamic variable
}
- GDB--gnu debug 调试器(调用栈:bt--backtrace)
- gcc/g++ ---编辑器
- vim---编辑工具(文本)
- 上面的三个加到一起相当于一个visual studio集成环境
三、多进程编程
- GDB
- 版本控制
四、命令
- shell(壳)——输入命令返回结果
linux操作系统最核心的部分kernal(内核),然后是shell,最外面的是外围的东西。shell等价于CLI linux品牌,发行版:ubuntu(常用),centos,Redhat 1、echo $SHELL
echo 回声 ---相当于printf SHELL--- 环境变量 $---取值符
2、date
3、cal---显示日历
4、calendar---提醒服务
- shell 的功能
1、用户输入命令,回车,shell就会找命令对应的代码(可执行文件或者内嵌代码段),执行命令,返回结果。 2、shell编程(shell也是一个解释器)
batch批处理文件