购物导购网站开发,女孩学建筑学好找工作吗,wordpress vps建站,公司网站建设哪家好【嵌入式学习笔记】什么是UC#xff0c;操作系统历史介绍#xff0c;计算机系统分层#xff0c;环境变量#xff08;PATH#xff09;#xff0c;错误 文章目录 什么是UC?计算机系统分层什么是操作系统#xff1f; 环境变量什么是环境变量#xff1f;环境变量的添加操作系统历史介绍计算机系统分层环境变量PATH错误 文章目录 什么是UC?计算机系统分层什么是操作系统 环境变量什么是环境变量环境变量的添加常见环境变量环境变量表 错误处理 什么是UC?
U是指unix操作系统。Unix操作系统是使用C语言实现的系统级软件。 UC是指使用C语言在Unix操作系统上的用户编程。unix系统向用户提供了大量的接口。用户通过系统提供的接口使用操作系统提供的服务
计算机系统分层
什么是操作系统 操作系统是管理计算机硬件资源和软件资源的一款系统软件。 操作系统简称OS。 操作系统通过驱动程序管理着计算机的硬件资源 通过系统调用和用户进行交互 在很多书籍中对操作系统层次的描述也有类似下图
环境变量
什么是环境变量
bash用一个叫做环境变量的特性来存储有关工作环境的信息。进程可以通过环境变量访问计算机的资源。在终端下输入env命令可以查看环境变量列表。通过echo $name 可以查看某个环境变量的值。
环境变量的添加
在终端窗口中输入 键值 形式的内容回车。比如 FOODguobaorou表示在当前bash中添加名为 FOOD值为 guobaorou的环境变量。如果环境变量FOOD存在则更改其值。强调在添加环境变量时登号左右两侧不要添加空格。
常见环境变量
PATH环境变量 PAHT/home/tarena/Qt5.4.1/5.4/gcc_64/bin:/home/tarena/Qt5.4.1/Tools/QtCieator/bin:/home/tarena/bin:/home/tarena/.local/bin:/usr/local/sbin:/usr/localbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 该环境变量所记录的是bash进程对命令的检索路径 格式为“.”分割的多个路径。当在bash下输入命令的时候首先在第一个路径下找该命令的可执行程序找到就执行不再向后找如果找不到在第二个路径下找找到就执行不再向后找;如果找不到继续下一个路径。如果到最后一个路径都找不到就提示该命令不能找到的错误。 如果想要执行自己的程序而又不想添加“./”该如何做呢? ./a.out -- a.out 在PATH环境变量中添加当前路径再执行程序时即可省略”./。 PATHPATH: 如果没有特殊操作对环境变量的设置仅对当前shell进程有效开启新的终端之前的操作不会被保留。 在家目录下有名为.bashrc的脚本文件每次bash进程启动前件的内容。如果希望环境变量的设置对每个bash进程都有效可以将环境变量的设置写在该脚本文件中。 执行 source ~/.bashrc 命令可以使文件立即对当前bash生效。
环境变量表 每个进程都有一张独立的环境变量表其中的每个条目都是一个形如”键值”形式的环境变量。 所谓环境变量表就是一个以NULL指针结束的字符指针数组其中的每个元素都是一个字符指针指向一个以空字符结尾的字符串该字符串就是形如”键值”形式的环境变量。该指针数组的地址保存在全局变量environ中 通过全局环境变量表指针environ可以访问所有环境变量 extern char** environ;
char** pp;
for (pp environ;*pp; pp){printf (%s\n,*pp);
}通过main函数的第三个参数也可以访问到进程的环境变量main函数的第三个参数就是环境变量表的起始地址 int main (int argc, char* argv[], char* envp[]) {char** pp;for(pp envp;*pp; pp){printf(%s\n,*pp);}reutrn 0;
}错误处理 针对因为运行环境、人为操作等原因会导致程序执行时发生错误那么如何获取具体的错误原因呢? 我们一般会采取下列几种方式 通过错误号了解具体的错误原因 系统于定义的整数类型全局变量errno中存储了最近一次系统调用的错误编号知道了错误编号也就知道了错误原因头文件/usr/include/errno.h中包含了对errno全局变量的外部声明在头文件/usr/include/asm-generic/errno-bashe.h中包含各种错误号的宏定义 通过strerror0函数了解错误原因 #includestring.h char* strerror(int errnum) 功能: 将整数形式的错误号转换为有意义的字符串 参数: errnum 错误号 返回值: 返回与参数错误号对应的描述字符串 通过perror()函数了解错误原因 #include stdio.hvoid perror(char const* tag)功能: 在标准出错设备上打印最近一次函数调用的错误信息参数: tag 为用户自己制定的提示内容输出时会自动在该提示内容和错误信息之间添加冒号进行分隔