自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android 接入 QuickJS(三)- QuickJS 常用 API

经过问题一的解决,我们知道了在 C/C++ 环境下运行一个 JS 脚本必不可少的环境步骤有 JSRuntime 和 JSContext 的构建,那么关于问题二又有什么不同呢?问题一中说到 JSContext 是我们执行脚本的真实依据,根据这个描述,我们可以知道如果要为脚本增加自定义 filed 可以从 JSContext 入手。拓展知识,在 JS 标准中,任何 JS 引擎产生的 JSContext 都需要挂载一个 global 变量,因此为了增加自定义变量我们可以从这里入手。

2023-12-21 21:24:05 987

原创 Android 接入 QuickJS(二)- 源码阅读

阅读代码可以发现这个方法内部调用了 JS_EvalFunctionInternal 进行下一步的执行,其中多添加了一个参数是 ctx->global_obj ,在这个方法的内部首先判断这个输入的 fun_obj 是 JS_TAG_FUNCTION_BYTECODE 还是 JS_TAG_MODULE 类型,如果是 JS_TAG_FUNCTION_BYTECODE 则可以正常执行 JS_CallFree 并且拿到结果。有了这个整体头文件的分析,可以大致对 QuickJS 引擎有一个初步的了解。

2023-12-20 22:06:19 470

原创 Android 接入 QuickJS(一)- 简介及接入方式

由于 QuickJS 是由 C 语言写的,所有天生具有跨平台的特性,又因为 QuickJS 仅仅保留了最基本的引擎特性,也可以保证 QuickJS 的库是比较精简的,更加适合接入到嵌入式等内存敏感的设备。动态链接库方式的接入,首先需要准备对应的链接库,这里就需要使用 QuickJS 代码去编译生成对应的动态链接库。源码方式接入 QuickJS 代码只需要将 github 的代码 clone 到本地,然后在自己的模块中增加对应的文件夹,最后通过在自己的项目中 makelist 中增加对这个文件夹的编译索引。

2023-12-20 22:04:11 1090

原创 读深入理解Java虚拟机有感

上大学期间最开始入门C语言,后来跟着学长学习C++,那时候被学长灌输了一些错误的观念,总觉得C++天下无敌,学好C++才是厉害的技术人,他们天天说,Java就是调用一下封装好的库,工作了就是增删改查。后来,机缘巧合下,觉得有必要学习一下Java,当时的考虑就是面向求职学习,最开始是跟着视频学习,跟着视频敲一些代码,因为有C++基础,所以Java这门高度面向对象的语言,学起来也不是那么吃力。...

2019-12-13 09:57:57 194 1

原创 安卓7.0关机流程(显示)

首先是到PhoneWindowManager下找到关机会触发的那个函数powerShortPressShutDown这个函数里会调用sendCloseSystemWindows然后在ActivityManagerService中closeSystemDialogs(然后有mWindowManager.closeSystemDialogs

2017-09-26 15:57:56 762

转载 抽象类以及接口

1、抽象类当想要通过共通接口来操作一组classes时,便可撰写abstract class。子类中所有与“抽象类所声明的标记式”相符的函数,都会通过动态绑定的机制来调用。有一组类他们拥有一系列相似的行为特征,它们拥有一些共同的函数,我们就把这些共同特征抽取出来放到抽象类中,抽象类为所有的子类提供“共同的接口”。建立抽象类的唯一理由是:各子型别都可以以以不同方式来表现此一共同接口。达到多态

2015-04-15 11:15:47 413

C语言 高精度计算

这是关于C语言 高精度运算的简单 概述

2012-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除