-
C++ STL版本有什么
所属栏目:[语言] 日期:2022-07-13 热度:185
自 1998 年 ANSI/ISO C++ 标准正式定案,C++ STL 规范版本正式通过以后,由于其实开源的,各个 C++ 编译器厂商在此标准的基础上,实现了满足自己需求的 C++ STL 泛型库,主要包括 HP STL、SGI STL、STLport、PJ STL、Rouge Wave STL 等。 HP STL HP STL 是[详细]
-
C++ STL的发展历程是啥样的
所属栏目:[语言] 日期:2022-07-13 热度:174
Alexander Stepanov(后被誉为 STL 标准模板库之父,后简称 Stepanov),1950 年出生与前苏联的莫斯科,他曾在莫斯科大学研究数学,此后一直致力于计算机语言和泛型库研究。 在 20 世纪 70 年代,Stepanov 开始考虑,在保证效率的前提下,是否能将算法从诸[详细]
-
C++ STL是什么 有啥用
所属栏目:[语言] 日期:2022-07-13 热度:57
在已有 C++ 尤其是 C++ 模板的基础上,从本节开始,我们开始系统地学习 STL 标准模板库,首先来了解什么是 STL,以及学习 STL 有什么用? STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是[详细]
-
Java File类 文件操作类 详解
所属栏目:[语言] 日期:2022-07-13 热度:109
在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。 File 类不能访问文件内容本身,如果需要[详细]
-
Java反射机制是什么
所属栏目:[语言] 日期:2022-07-13 热度:173
Java 反射机制是 Java 语言的一个重要特性。在学习 Java 反射机制前,大家应该先了解两个概念,编译期和运行期。 编译期是指把源码交给编译器编译成计算机可以执行的文件的过程。在 Java 中也就是把 Java 代码编成 class 文件的过程。编译期只是做了一些翻[详细]
-
Java反射机制API
所属栏目:[语言] 日期:2022-07-13 热度:170
实现 Java 反射机制的类都位于 java.lang.reflect 包中,java.lang.Class 类是 Java 反射机制 API 中的核心类。本节将从这两个方面讲解 Java 反射机制 API。 可参考《Java反射机制的基本概念》一节中介绍的关于 Java 反射机制获取类对象相关信息的方法,来[详细]
-
Java通过反射访问构造方法
所属栏目:[语言] 日期:2022-07-13 热度:151
为了能够动态获取对象构造方法的信息,首先需要通过下列方法之一创建一个 Constructor 类型的对象或者数组。 getConstructors() getConstructor(Class?parameterTypes) getDeclaredConstructors() getDeclaredConstructor(Class?...parameterTypes) 如果是[详细]
-
Java通过反射执行方法
所属栏目:[语言] 日期:2022-07-13 热度:170
要动态获取一个对象方法的信息,首先需要通过下列方法之一创建一个 Method 类型的对象或者数组。 getMethods() getMethods(String name,Class? parameterTypes) getDeclaredMethods() getDeclaredMethods(String name,Class?...parameterTypes) 如果是访问[详细]
-
Java通过反射访问成员变量
所属栏目:[语言] 日期:2022-07-13 热度:140
通过下列任意一个方法访问成员变量时将返回 Field 类型的对象或数组。 getFields() getField(String name) getDeclaredFields() getDeclaredField(String name) 上述方法返回的 Field 对象代表一个成员变量。例如,要访问一个名称为 price 的成员变量,示[详细]
-
Java在远程方法调用中运用反射机制
所属栏目:[语言] 日期:2022-07-13 热度:191
上一节详细介绍了如何使用 java.lang.reflect 包提供的 Constructor 类获取构造方法的信息、使用 Method 类获取成员方法的信息以及使用 Field 类获取成员变量的信息。 本案例将介绍反射机制在网络编程中的应用,实现如何在客户端通过远程方法调用服务器端[详细]
-
Java流是什么 输入 输出流又是什么
所属栏目:[语言] 日期:2022-07-13 热度:146
在 Java 中所有数据都是使用流读写的。流是一组有序的数据序列,将数据从一个地方带到另一个地方。根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。 在学习输入和输出流之前,我们要明白为什么应用程序需要输入和输出流。例如,我们[详细]
-
Java系统流
所属栏目:[语言] 日期:2022-07-13 热度:125
每个 Java 程序运行时都带有一个系统流,系统流对应的类为 java.lang.System。Sytem 类封装了 Java 程序运行时的 3 个系统流,分别通过 in、out 和 err 变量来引用。这 3 个系统流如下所示: System.in:标准输入流,默认设备是键盘。 System.out:标准输[详细]
-
Java字符编码介绍
所属栏目:[语言] 日期:2022-07-13 热度:115
计算机中,任何的文字都是以指定的编码方式存在的,在 Java 程序的开发中最常见的是 ISO8859-1、GBK/GB2312、Unicode、 UTF 编码。 Java 中常见编码说明如下: ISO8859-1:属于单字节编码,最多只能表示 0~255 的字符范围。 GBK/GB2312:中文的国标编码,[详细]
-
GCC -o选项 特定输出文件
所属栏目:[语言] 日期:2022-07-12 热度:192
gcc -o选项用来指定输出文件,如果不使用 -o 选项,那么将采用默认的输出文件。例如默认情况下,生成的可执行文件的名字默认为 a.out。 如下是 gcc -o 指令的使用语法格式: [root@bogon demo]# gcc [-E|-S|-c] [infile] [-o outfile] 其中,用方括号 [][详细]
-
GDB watch命令 监控变量值的更变
所属栏目:[语言] 日期:2022-07-12 热度:188
《GDB break命令》一节,给大家介绍了使用 break 命令在程序某一行的位置打断点。但还有一些场景,我们需要监控某个变量或者表达式的值,通过值的变化情况判断程序的执行过程是否存在异常或者 Bug。这种情况下,break 命令显然不再适用,推荐大家使用 watc[详细]
-
GDB break b 设定断点
所属栏目:[语言] 日期:2022-07-12 热度:111
默认情况下,程序不会进入调试模式,代码会瞬间从开头执行到末尾。要想观察程序运行的内部细节(例如某变量值的变化情况),可以借助 GDB 调试器在程序中的某个地方设置断点,这样当程序执行到这个地方时就会停下来。 所谓断点(BreakPoint),读者可以理[详细]
-
gdb run r 命令 开启程序
所属栏目:[语言] 日期:2022-07-12 热度:154
使用 GDB 调试器调试程序的过程,其实就是借助 GDB 调试器来监控程序的执行流程,进而发现程序中导致异常或者 Bug 的代码。通过前面章节的学习,读者已经学会了如何启动 GDB 调试器,在此基础上,本节继续为大家讲解如何在 GDB 调试器中启动(运行)程序,[详细]
-
GDB下载和安装教学
所属栏目:[语言] 日期:2022-07-12 热度:62
基于 Linux 系统的免费、开源,衍生出了多个不同的 Linux 版本,比如 Redhat、CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,有些默认安装有 GDB 调试器,但有些默认不安装。 判断当前 Linux 发行版是否安装有 GDB 的方法也很简单,就是在命令行窗口中[详细]
-
GCC -l选项 手动增加链接库
所属栏目:[语言] 日期:2022-07-12 热度:54
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件。在链接过程中,它必须把符号(变量名、函数名等一些列标识符)用对应的数据的内存地址(变量地址、函数地址等)替代,以完成程序中多个模块的外部引用。 而且,链接器也必须将程[详细]
-
gcc指令一次处置多个文件
所属栏目:[语言] 日期:2022-07-12 热度:145
通过前面几节的学习,读者已经了解了如何使用 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 热度:116
我们知道,C、C++程序从源文件到生成可执行文件需经历 4 个阶段,分别为预处理、编译、汇编和链接,本节将重点围绕链接阶段,对静态链接库和动态链接库做详细的讲解。 有关链接操作的具体细节,感兴趣的读者可阅读《到底什么是链接,它起到了什么作用?》[详细]
-
GCC -c选择 生成目标文件
所属栏目:[语言] 日期:2022-07-12 热度:97
我们知道,从 C、C++源代码生成可执行文件要经历 4 个过程,分别为预处理、编译、汇编和链接。 《GCC -E选项:对源程序做预处理操作》一节以 demo.c 源文件为例,介绍了如何对源文件进行预处理,并生成相应的 demo.i 预处理文件;《GCC -S选项:编译非汇编[详细]
-
Makefile文件是哪些
所属栏目:[语言] 日期:2022-07-12 热度:79
我们教程主要是讲的是 Makefile 。很多 Linux(Unix) 做开发的初学者不了解 Makefile 是什么,甚至大部分 Windows 开发工程师对 Makefile 都特别陌生。这个其实很正常,如果你是在 Windows 下作开发的话不需要去考虑这个问题,因为 Windows 下的集成开发环[详细]
-
GDB catch命令 创立捕捉断点
所属栏目:[语言] 日期:2022-07-12 热度:158
要知道,GDB 调试器支持在被调试程序中打 3 种断点,分别为普通断点、观察断点和捕捉断点,其中普通断点用 break 命令建立(可阅读《GDB break》一节),观察断点用 watch 命令建立(可阅读《GDB watch》一节),本节将讲解如何使用 catch 命令建立捕捉断[详细]
-
GDB条件断点 condition命令 解说
所属栏目:[语言] 日期:2022-07-12 热度:155
前面章节给大家介绍了 GDB 调试器中普通断点、观察断点以及捕捉断点的功能和用法。其中值得一提的是,对于普通断点的建立,可以使用如下格式的 break 命令: (gdb) break ... if cond ... 参数用于指定生成断点的具体位置;cond 参数用于代指某个表达式。[详细]
