-
Makefile中另外的常用函数
所属栏目:[语言] 日期:2022-07-13 热度:56
之前学习过了 Makefile 中的字符串操作文件和文件名操作函数,我们今天再来看一下 Makefile 中的其他的函数。以下是这些函数的详细说明。 $(foreach var,list,text) 函数的功能是:把参数list中的单词逐一取出放到参数var所指定的变量中,然后再执行text所[详细]
-
Makefile命令的编辑
所属栏目:[语言] 日期:2022-07-13 热度:157
通过上个章节的描述,我们已经知道了 Makefile 的规则是什么,他是由依赖关系规则和命令组成的。所使用的命令是由 shell 命令行组成,他们是一条一条执行的。多个命令之间要使用分号隔开,Makefile 中的任何命令都要以tab键开始。多个命令行之间可以有空行[详细]
-
Makefile include文件包括
所属栏目:[语言] 日期:2022-07-13 热度:123
这个章节主要讲的是 Makefile 中包含其他的文件。包含其他文件使用的关键字是 include,和 C 语言包含头文件的方式相同。 当 make 读取到 include 关键字的时候,会暂停读取当前的 Makefile,而是去读 include 包含的文件,读取结束后再继读取当前的 Makef[详细]
-
Makefile嵌套实行make
所属栏目:[语言] 日期:2022-07-13 热度:64
这个章节主要讲解的是在 Makefile 中嵌套执行 make。我们都知道在一个大的工程文件中,不同的文件按照功能被划分到不同的模块中,也就说很多的源文件被放置在了不同的目录下。每个模块可能都会有自己的编译顺序和规则,如果在一个 Makefile 文件中描述所有[详细]
-
嵌套执行make的示范
所属栏目:[语言] 日期:2022-07-13 热度:84
Makefile 中 嵌套执行 make 大部分是在大的工程项目中使用的,那么我们就通过一个大的项目工程来详细的分析一下如何嵌套执行 make。 假设有一个 MP3 player 的应用程序,它可以被划分为若干个组件:用户界面(ui)、编解码器(codec)以及数据管理库(db)[详细]
-
make命令参数和选项大合集
所属栏目:[语言] 日期:2022-07-13 热度:98
我们在在执行 make 命令时,有的时候需要加上一下参数选项来保证我们的程序的执行,其实之前已经遇到过 make 在执行命令的时候需要添加上参数选项,比如只打印命令但不执行使用的参数是 -n ,还有只执命令不打印命令的参数选项是 -s,包含其它文件的路径参[详细]
-
Makefile目标类别大汇总
所属栏目:[语言] 日期:2022-07-13 热度:77
这个章节主要讲解的是模式规则中的目标。规则中的目标形式是多种多样的,它可以是一个或多个的文件、可以是一个伪目标,这是我们之前讲到过的,也是经常使用的。其实规则目标还可以是其他的类型,下面是对这些类型的详细的说明。 强制目标 如果一个目标中[详细]
-
Makefile变量的高级用处
所属栏目:[语言] 日期:2022-07-13 热度:121
我们之前已经学习过变量的定义和基本的赋值运算,我们可以更深入的了解一下变量的一些高级的用法。高级使用方法有两种:一种是变量的替换引用,一种是变量的嵌套引用。这是我们在使用的时候比较常见的两种使用方法,我们来具体分析使用一下变量的这两种高[详细]
-
Java.util.logging JDK自带录入日志类
所属栏目:[语言] 日期:2022-07-12 热度:169
每个初学者都很熟悉在有问题的代码中使用 System.out.println 方法在控制台打印消息,来帮助观察程序运行的操作过程。如果你使用 System.out.println 方法,一旦发现问题的根源,就要将这些语句从代码中删去。如果接下来又出现了问题,就需要再插入几个调[详细]
-
GCC编译器下载和安装教案 针对Linux发行版
所属栏目:[语言] 日期:2022-07-12 热度:151
由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。 如果读者不清楚当前使用的 Linux 发行版是否已经装有 GCC 编译器[详细]
-
GCC的组成部分以及运用到的软件
所属栏目:[语言] 日期:2022-07-12 热度:158
GCC 是由许多组件组成的。表 1 列出了 GCC 的各个部分,但它们也并不总是出现 的。有些部分是和语言相关的,所以如果没有安装某种特定语言,系统:中就不会出现相关的文件。 表1:GCC 安装的各个部分 部分 描述 c++ gcc 的一个版木,默认语言设置为 C++,而[详细]
-
gcc和g++是什么 有什么差异
所属栏目:[语言] 日期:2022-07-12 热度:150
发展至今(2020 年 6 月份),GCC 编译器已经更新至 10.1.0 版本,其功能也由最初仅能编译 C 语言,扩增至可以编译多种编程语言,其中就包括 C++ 。 除此之外,当下的 GCC 编译器还支持编译 Go、Objective-C,Objective-C ++,Fortran,Ada,D 和 BRIG(HS[详细]
-
GCC自动鉴别的文件扩展名 一览表
所属栏目:[语言] 日期:2022-07-12 热度:64
通过前面的学习我们知道,对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器。并且对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件;而对于以 .cpp 为扩展名的文件,GCC 会自动将其视为 C++ 源代码文件。 除此之外,GCC 编[详细]
-
GCC -std编译目标一览表
所属栏目:[语言] 日期:2022-07-12 热度:196
要知道,任何一门编程语言都有相关的组织和团体在不停的维护和更新。原因很简单,时代在发展,编程语言如果停滞不前,最终就会被淘汰。 以 C 语言为例,发展至今该编程语言已经迭代了诸多个版本,例如 C89(偶尔又称为 C90)、C94(C89 的修订版)、C99、C[详细]
-
GCC编译C C++程序 一步做成
所属栏目:[语言] 日期:2022-07-12 热度:103
通过前面章节的学习我们知道,GCC 编译器并未提供给用户可用鼠标点击的界面窗口,要想调用 GCC 编译器编译 C 或者 C++ 程序,只能通过执行相应的 gcc 或者 g++ 指令。本节将重点给大家讲解如何编写 gcc 或者 g++ 指令来编译 C、C++ 程序。 注意,在前面的[详细]
-
GCC -E选项 对源程序做预处理运作
所属栏目:[语言] 日期:2022-07-12 热度:147
通过前面的学习我们知道,根据源代码文件后缀名的不同,gcc 指令可以自行判断出该源程序是由哪种编程语言编写,从而完成由源代码到可执行代码的转换工作。考虑到本教程主要讲解如何使用 gcc 指令运行 C/C++ 程序,因此本节就以 C 语言程序为例(如下所示)[详细]
-
GCC -S项目 编译非汇编文件
所属栏目:[语言] 日期:2022-07-12 热度:186
我们知道,从 C、C++源代码生成可执行文件需要经历 4 个过程,分别为预处理、编译、汇编和链接。其中,《GCC -E选项:对源程序做预处理操作》一节以 demo.c 源程序文件为例,演示了如何使用 GCC 执行预处理操作,并生成了相应的 demo.i 预处理文件。 [root[详细]
-
GDB下载和安装教学
所属栏目:[语言] 日期:2022-07-12 热度:57
基于 Linux 系统的免费、开源,衍生出了多个不同的 Linux 版本,比如 Redhat、CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,有些默认安装有 GDB 调试器,但有些默认不安装。 判断当前 Linux 发行版是否安装有 GDB 的方法也很简单,就是在命令行窗口中[详细]
-
gdb run r 命令 开启程序
所属栏目:[语言] 日期:2022-07-12 热度:199
使用 GDB 调试器调试程序的过程,其实就是借助 GDB 调试器来监控程序的执行流程,进而发现程序中导致异常或者 Bug 的代码。通过前面章节的学习,读者已经学会了如何启动 GDB 调试器,在此基础上,本节继续为大家讲解如何在 GDB 调试器中启动(运行)程序,[详细]
-
GDB break b 设定断点
所属栏目:[语言] 日期:2022-07-12 热度:118
默认情况下,程序不会进入调试模式,代码会瞬间从开头执行到末尾。要想观察程序运行的内部细节(例如某变量值的变化情况),可以借助 GDB 调试器在程序中的某个地方设置断点,这样当程序执行到这个地方时就会停下来。 所谓断点(BreakPoint),读者可以理[详细]
-
GDB watch命令 监控变量值的更变
所属栏目:[语言] 日期:2022-07-12 热度:82
《GDB break命令》一节,给大家介绍了使用 break 命令在程序某一行的位置打断点。但还有一些场景,我们需要监控某个变量或者表达式的值,通过值的变化情况判断程序的执行过程是否存在异常或者 Bug。这种情况下,break 命令显然不再适用,推荐大家使用 watc[详细]
-
GCC -o选项 特定输出文件
所属栏目:[语言] 日期:2022-07-12 热度:115
gcc -o选项用来指定输出文件,如果不使用 -o 选项,那么将采用默认的输出文件。例如默认情况下,生成的可执行文件的名字默认为 a.out。 如下是 gcc -o 指令的使用语法格式: [root@bogon demo]# gcc [-E|-S|-c] [infile] [-o outfile] 其中,用方括号 [][详细]
-
GCC -l选项 手动增加链接库
所属栏目:[语言] 日期:2022-07-12 热度:96
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件。在链接过程中,它必须把符号(变量名、函数名等一些列标识符)用对应的数据的内存地址(变量地址、函数地址等)替代,以完成程序中多个模块的外部引用。 而且,链接器也必须将程[详细]
-
gcc指令一次处置多个文件
所属栏目:[语言] 日期:2022-07-12 热度:69
通过前面几节的学习,读者已经了解了如何使用 gcc(g++)指令调用 GCC 编译器编译(包括预处理、编译、汇编和链接)C 或者 C++ 源代码,例如: [root@bogon demo]# ls demo1.c demo2.c [root@bogon demo]# cat demo1.c #includestdio.h int main(){ printf[详细]
-
GCC运用静态链接库和动态链接库
所属栏目:[语言] 日期:2022-07-12 热度:181
我们知道,C、C++程序从源文件到生成可执行文件需经历 4 个阶段,分别为预处理、编译、汇编和链接,本节将重点围绕链接阶段,对静态链接库和动态链接库做详细的讲解。 有关链接操作的具体细节,感兴趣的读者可阅读《到底什么是链接,它起到了什么作用?》[详细]