JNI开发系列目录
博客创建时间:2022.9.16
博客更新时间:2022.10.18
以Android studio 7.0.0来分析讲解,所以是Android最新版NDK项目创建,其截图可能与低版本不一样。
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
标准的 C++ 由三个重要部分组成:
大多数的 C++ 编译器并不在乎源文件的扩展名,但是如果您未指定扩展名,则默认使用 .cpp,其它的文件名也可以是.h文件。
C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:封装、抽象、继承、多态
C++ 的使用场景
C++ 基本语法
定义常量
在 C++ 中,有两种简单的定义常量的方式:
使用 #define 预处理器。
使用 const 关键字。
类的继承
C++ 类的继承和 Java 也是大同小异,其格式如下:class B: access-specifier A。
其中 access-specifier 是访问修饰符, 是 public、protected 或 private 其中的一个。访问修饰符的作用如下:
注意:C++支持多继承,class <派生类名>:<继承方式1><基类名1>
| Column | Column | Column | Column |
|---|---|---|---|
| asm | else | new | this |
| auto | enum | operator | throw |
| bool | explicit | private | true |
| break | export | protected | try |
| case | extern | public | typedef |
| catch | false | register | typeid |
| char | float | reinterpret_cast | typename |
| class | for | return | union |
| const | friend | short | unsigned |
| const_cast | goto | signed | using |
| continue | if | sizeof | virtual |
| default | inline | static | void |
| delete | int | static_cast | volatile |
| do | long | struct | wchar_t |
| double | mutable | switch | while |
| dynamic_cast | namespace | template |
| 类型 | 关键字 | 描述 |
|---|---|---|
| 布尔型 | bool | 存储值 true 或 false。 |
| 字符型 | char | 一个字符(八位)的整数类型。 |
| 整型 | int | 对机器而言,整数的最自然的大小。 |
| 浮点型 | float | 单精度浮点值。单精度是这样的格式,1位符号,8位整数,23位小数。 |
| 双浮点型 | double | 双精度浮点值。双精度是1位符号,11位指数,52位小数。 |
| 无类型 | void | 表示类型的缺失。 |
| 宽字符型 | wchar_t | 宽字符类型。 |
| 类型 | 位 | 范围 |
|---|---|---|
| char | 1 个字节 | -128 到 127 或者 0 到 255 |
| unsigned char | 1 个字节 | 0 到 255 |
| signed char | 1 个字节 | -128 到 127 |
| int | 4 个字节 | -2147483648 到 2147483647 |
| unsigned int | 4个字节 | 0 到 4294967295 |
| signed int | 4 个字节 | -2147483648 到 2147483647 |
| short int | 2 个字节 | -32768 到 32767 |
| unsigned short int | 2 个字节 | 0 到 65,535 |
| signed short int | 2 个字节 | -32768 到 32767 |
| long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
| signed long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
| unsigned long int | 8 个字节 | 0 到 18,446,744,073,709,551,615 |
| float | 4 个字节 | 精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字) |
| double | 8 个字节 | 双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字) |
| long double | 16 个字节 | 长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。 |
| wchar_t | 2 或 4 个字节 | 1 个宽字符 |
signed 和 unsigned 指定了数据是否有正负; short 和 long 主要指定了数据的内存大小。
| 转义序列 | 含义 |
|---|---|
| \ | \ 字符 |
| ’ | ’ 字符 |
| " | " 字符 |
| ? | ? 字符 |
| \a | 警报铃声 |
| \b | 退格键 |
| \f | 换页符 |
| \n | 换行符 |
| \r | 回车 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \ooo | 一到三位的八进制数 |
| \xhh . . . | 一个或多个数字的十六进制数 |
JNI标准作为Java平台的一部分,提供了与编译型语言进行交互的手段,尤其是对C/C++的交互。C/C++是JNI开发必须要掌握的技术,下一篇博文C++使用实践来讲解C++的实践使用。
相关链接:
博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !