第一二章学习笔记

2022/9/4 23:25:28

本文主要是介绍第一二章学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第一章 引言

本章简单介绍了Unix的历史,包括贝尔实验室开发的Unix早期版本、AT&T System V以及Unix的其他版本,如BSD、HP UX、IBM AIX和Sun/SolarisUnix。此外,还介绍了Linux的开发及其各种发行版(包括Debian、 Ubuntu、 Mint、 RedHat和Slackware),列出了适用于Linux的各种硬件平台和虚拟机,并展示了如何将UbuntuLinux同时安装到Microsoft Windows中的VirtualBox虚拟机和VMware虚拟机上。

Unix/Linux命令:

  • ls:ls dirname:列出CWD或目录的内容。
  • cd dirname:更改目录。
  • pwd:打印CWD的绝对路径名。
  • touch filename:更改文件名时间戳(如果文件不存在,则创建文件)。
  • cat filename:显示文件内容。
  • cp src dest:复制文件。
  • mv src dest:移动或重命名文件。
  • mkdir dirname:创建目录。
  • rmdir dirname:移除(空)目录。
  • rm filename:移除或删除文件。
  • ln oldfile newfile:在文件之间创建链接。
  • find:搜索文件。
  • grep:搜索文件中包含模式的行。
  • ssh:登录到远程主机。
  • gzip filename:将文件压缩为.gz文件。
  • gunzip file.gz:解压.gz文件。
  • tar -zcvf file.tgz .:从当前目录创建tar文件。
  • tar -zxvf file.tgz .:从.tgz文件中解压文件。
  • man:显示在线手册页。
  • zip file.zip filenames:将文件压缩为.zip文件。
  • unzip file.zip:解压.zip文件。课上用过的Linux命令 - 娄老师 - 博客园 (cnblogs.com)

    第二章 编程背景

  • 一、Linux中的文本编辑器及使用本章讲述了系统编程所需的背景信息;介绍了几种基于GUI的文本编辑器,比如vim、gedit和EMACS,可供读者编辑文件使用:展示了如何在命令和GUI模式下使用EMACS编辑器来编辑、编译和执行C语言程序;阐述了程序开发的步骤,这些编译链接步骤包括GCC、静态和动态链接、二进制可执行文件的格式和内容、程序执行和终止等;详细阐释了函数调用惯例和运行时堆栈的使用,包括参数传递、局部变量和栈帧。

      • 程序开发步骤
        (1)创建源文件:使用文本编辑器创建一个或多个程序源文件。
        (2)用gcc把源文件转换成二进制可执行文件。
    gcc命令其实依次执行了四步操作:
    1.预处理(Preprocessing)
    以“#”号开头的预处理指令如包含#include,宏定义制定#define等。在源程序中这些指令都放在函数之外,而且一般放在源文件的前面。经过预处理之后代码体积会大很多,相当于可执行文件一倍大小。预处理之后的程序还是文本,可以用文本编辑器打开。
    2.编译(Compilation)
    这里的编译不是指程序从源文件到二进制程序的全部过程,而是指将经过预处理文件之后的程序转换成特定汇编代码的过程。
    3.汇编(Assemble)
    汇编过程将上一步的汇编代码转换成机器码,这一步产生的文件叫做目标文件,是二进制格式。
    4.链接(Linking)。
    链接过程使用链接器将该目标文件与其他目标文件、库文件、启动文件等链接起来生成可执行文件。附加的目标文件包括静态连接库和动态连接库。
  • makefile
  • make是一号程序,它按顺序读取Makefile或makefile,以自动有选择地执行编译链接。一个make文件由一系列目标项依赖项规则组成。当make程序读取makefile时,它通过比较依赖项列表中源文件的时间戳来确定要构建哪些目标项。

    GDB调试工具

    GDB调试工具是一个交互式调试工具,可以调试用C、C++和其他几种语言编写的程序。GDB是一个功能强大的调试工具,使用非常简单,但应该注意,所有调试工具只能提供有限的帮助,在某些情况下用处不大,所以程序开发的最佳方法是仔细设计程序的算法,然后根据算法编写程序代码。



这篇关于第一二章学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程