- 博客(26)
- 收藏
- 关注
原创 7 C++ 标准库类型 vector
标准库类型vector表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。因为vector“容纳着” 其它对象,所以它也常被称作容器。vector定义在头文件vector中。C++ 既有类模板,也有函数模板,其中vector是一个类模板。模板本身不是类或函数,相反可以将模板看作为编译器生成类或函数编写的一份说明。编译器根据模板创建类或函数的过程称为实例化,当使用模板时,需要指出编译器应把类或函数实例化成何种类型。
2024-11-19 01:54:33
329
原创 4.3 Java JNI 机制
JNI 是一个原生编程接口。它允许在 Java 虚拟机(JVM)内运行的 Java 代码与用其它编程语言(如 C、C++ 和汇编)编写的应用程序和库进行互操作。JNI 最重要的好处是它对底层 JVM 的实现没有限制。因此,JVM 供应商可以添加对 JNI 的支持,而不会影响 JVM 的其它部分。程序员可以编写一个原生应用程序或库的一个版本,并期望它与支持 JNI 的所有 JVM 一起工作。虽然可以完全用 Java 编写应用程序,但在某些情况下,仅靠 Java 无法满足应用程序的需求。
2024-11-15 12:05:41
847
原创 4.2 Android NDK 基础概念
JNI 定义了两个关键数据结构,和。这两者本质上都是指向函数表指针的指针。(在 C++ 版本中,它们是具有指向函数表的指针的类,以及指向该表的每个 JNI 函数的成员函数。)提供了“调用接口”函数,允许您创建和销毁。理论上,每个进程可以有多个,但 Android 只允许一个。 提供了大部分 JNI 功能。除了方法外,您的原生函数都会收到作为第一个参数。 用于线程本地存储。因此,您不能在线程之间共享。如果一段代码没有其他方法获取其,则应共享,并使用发现线程的。(假设它有一个) 和的 C 声明与 C+
2024-11-15 11:56:57
1185
原创 4.1 Android NDK 简介
原生开发套件(NDK)是一套工具,使您能够在 Android 应用中使用 C/C++ 代码,并提供众多平台库,您可以使用这些平台库管理原生 activity 和访问实体设备组件,例如传感器和触控输入。可以在 Android Studio 中使用 NDK 将 C/C++ 代码编译到原生库中,然后使用 Android Studio 的集成构建系统 Gradle 将原生库打包到 APK 中。Java 代码随后可以通过 JNI 框架调用原生库中的函数。
2024-11-15 11:56:40
741
原创 2 C++ 基本内置类型
数据类型是程序的基础:它告诉我们数据的意义以及我们能在数据上执行的操作。C++ 定义了一套包括算术类型和空类型在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊场合,例如最常见的是,当函数不返回任何值时使用空类型作为返回类型。
2024-11-14 03:45:55
853
原创 3 Activity
系统中的活动作为活动堆栈进行管理。当一个新的活动启动时,它通常会被放置在当前堆栈的顶部,并成为正在运行的活动——之前的活动始终保持在堆栈的下方,在新活动退出之前不会再次出现在前台。屏幕上可以显示一个或多个活动堆栈。如果某个活动位于屏幕的前景(最顶部堆栈的最高位置),则表示该活动处于活动状态或正在运行。这通常是用户当前正在与之交互的活动。如果一个活动失去了焦点,但仍然呈现给用户,则它是可见的。
2024-11-08 19:08:10
921
原创 2 清单(manifest)文件
每个应用项目都必须在项目源代码集的根目录下有一个文件。在 Android 系统可以启动应用程序组件之前,系统必须通过读取应用程序的清单文件来知道该组件存在。您的应用程序在此文件中声明了其所有组件。
2024-11-08 13:48:05
1051
原创 1.1 Android 应用的基础知识
可以使用 Kotlin、Java、C++ 语言来开发 Android 应用。Android SDK 工具将代码以及任何数据和资源文件编译到 APK 或 Android App Bundle。Android 软件包(即带有.apk后缀的归档文件),包含运行时所需的 Android 应用的内容。它是用于在 Android 设备上安装应用的文件。Android App Bundle 是一种带有.aab后缀的归档文件,其中包含 Android 应用项目的内容,包括一些在运行时不需要的额外的元数据。
2024-11-08 10:50:19
1043
原创 1.4 配置 Android 构建系统
Android 构建系统会编译应用资源和源代码,然后将它们打包成 APK 或 Android App Bundle 文件,供您测试、部署、签名和分发。
2024-11-06 10:20:43
1683
原创 1.3 Gradle 构建系统
构建系统将源代码转换为可执行应用。构建通常涉及多个工具,用于分析、编译、关联和打包应用或库。Gradle 使用基于任务的方法组织和运行这些命令。任务封装了将输入转换为输出的命令。插件用于定义任务及其配置。将插件应用于 build 会注册其任务,并使用其输入和输出将它们连接在一起。例如,将 Android Gradle 插件(AGP)应用于 build 文件后,系统会注册构建 APK 或 Android 库所需的所有任务。借助 java-library 插件,您可以从 Java 源代码构建 jar 文件。
2024-11-06 09:56:07
899
原创 1.2 Android 项目概览
Android Studio 是开发 Android 应用的官方 IDE,包含构建 Android 应用所需的所有功能。
2024-11-06 09:42:18
894
原创 2 字符串类型
字符串(str)可以用成对的单引号('...')或双引号("...")来表示,结果完全相同。字符串字面值可以包含多行,一种实现方式是使用三重引号"""..."""或'''...''',字符串中将自动包括行结束符,但也可以在换行的地方添加一个字符串用于操作文本。
2024-08-17 20:16:43
708
原创 3 C++ 变量
变量定义的基本形式是:首先是类型说明符,随后紧跟由一个或多个变量名组成的列表,其中变量名以逗号分隔,最后以分号结束。列表中每个变量名的类型都由类型说明符指定,定义时还可以为一个或多个变量赋初值。// 3 个变量都是 int 类型的std::string hello("你好");// 变量 hello 通过一个字符串字面值初始化string。
2024-08-16 23:39:16
1046
原创 1 C++ 基础
确保头文件多次包含仍能安全工作的常用技术是预处理器,它由 C++ 从 C 语言继承而来。预处理是在编译之前执行的一段程序,可以部分地改变我们所写的程序。C++ 程序还会用到的一项预处理功能是头文件保护符,头文件保护符依赖于预处理变量。预处理变量有两种状态:已定义和未定义。#define#ifdef当且仅当变量已定义时为真,#ifndef当且仅当变量未定义时为真。一旦检查结果为真,则执行后续操作直至遇到#endif指令为止。预处理变量无视 C++ 语言中关于作用域的规则。
2024-08-16 23:37:48
902
原创 3 Python 语法教程
Python 可以把各种定义和语句存入一个文件,在脚本或解释器的交互式实例中使用,这个文件就是模块。其文件名是模块名加后缀.py。模块中的定义可以导入到其它模块。模块中的语句用于初始化模块,且仅在import语句第一次遇到模块名时执行。或者文件作为脚本运行时,也会执行这些语句。每个模块都有自己的私有命名空间,它会被用作模块中定义的所有函数的全局命名空间。因此,模块作者可以在模块内使用全局变量而不必担心与用户的全局变量发生冲突。要访问一个模块内的变量,可以通过点运算符。
2024-08-13 16:34:06
843
1
原创 1 PySide6 绪论
Qt 是众多 GUI 框架里面非常著名的一款,是由挪威的 Trolltech(奇趣科技公司)开发的。它本身由 C++ 开发,天然支持基于 C++ 的 GUI 编程,编出来的图形化软件在当今众多 GUI 框架中运行效率极高,拥有完善的第三方库,极其适合数字图像处理、文档排版、多媒体、3D 建模等专业软件开发。与此同时,Qt 还有一个强大的功能:支持跨平台。Qt for Python 提供了 Qt 的官方 Python 绑定,允许用户使用 Python 编写 Qt 应用。
2023-04-01 15:37:16
338
原创 深度学习环境配置笔记
我们的环境配置分为以下几个部分:Anaconda3 安装和使用、PyTorch 框架安装、企业版 PyCharm 连接服务器。
2022-02-22 14:03:11
1933
原创 Python itk笔记--读取NIFTI图像
这里使用的是 itk-5.2.1 版本Python的itk函数库使用 imread() 函数读取文件,可以根据文件名自动选择相关的类。例如:import itknii_path = 'test.nii.gz'nii_img = itk.imread(filename=nii_path)imread() 函数存在于itk安装包的 support/extras.py 文件内,函数API为:def imread( filename: fileioType, pixel_type: Opt.
2022-01-22 14:30:46
3866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人