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++的实践使用。
相关链接:
博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !