- FreeRTOS 线程本地存储(Thread Local Storage, TLS)详解
指令集诗人
FREERTOSarm开发c语言
FreeRTOS中的线程本地存储(ThreadLocalStorage,TLS)是一种允许每个任务(线程)独立存储私有数据的机制,类似于其他操作系统(如Linux的__thread或Windows的TlsAlloc)的线程局部存储。通过TLS,每个任务可以拥有独立的数据副本,避免全局变量在多任务环境中的竞争问题。1.FreeRTOS中的TLS实现原理FreeRTOS通过任务控制块(TaskCont
- WPF 设置窗口在屏幕中央显示
魑魅魍魉都是鬼
c#wpfwindow
在InitializeComponent();之前添加WindowStartupLocation=WindowStartupLocation.CenterScreen;//////InteractionlogicforMainWindow.xaml///publicpartialclassMainWindow:Window{publicMainWindow(){WindowStartupLocat
- 使用Clang编译内联intel语法汇编的C/C++项目
witton
#汇编跨平台LLVM/Clangclang内联汇编intelCC++
我们在编写C/C++代码时,如果在有较高性能需求的时候,可以使用汇编代码来编写相应的函数,C/C++直接调用即可。汇编的语法格式有两种,一种是我们在Windows下常见的Intel的语法格式;另一种是GCC下使用的AT&T格式的语法,这种语法对我们经常使用Windows或者从Windows开始学习编程的开发人员来说会感觉很晦涩。我们看看MS方式的内联汇编写法:__asm{pushraxxorrax
- 最新libimobiledevice库移植到windows
物联Bill
果粉windowsiosc语言
最新libimobiledevice库无法直接在windows上编译运行。能在windows编译的开源项目libimobiledevice-vs已经几年没有更新了。已经无法支持最新的苹果手机了,因此只能自己着手把最新的libimobiledevice移植到windows。首先gitclone最新源码:gitclonehttps://github.com/libimobiledevice/libim
- 工具、数据与情绪:计算机技术的三重境界
狒狒的代码王国
学习方法深度学习学习
此篇文章是我对计算机应用的理解,写着玩的。第一层境界:工具的熟练与桎梏计算机语言和工具构成了我们与数字世界对话的基础语法。Java、C、C++、Python等编程语言,IntelliJIDEA、VisualStudio等开发环境,Linux、Windows等操作系统,这些都是技术人员赖以生存的"锤子与钉子"。在这个层面上,我们如同工匠学徒,专注于工具的握持方式、使用技巧和保养方法。一个优秀的程序员
- 【Rust CAD开发入门】第一章 环境搭建 第一节 Rust安装指南:Windows、macOS和Linux系统上的详细步骤
Source.Liu
用Rust写CADrust开发语言windows
文章目录一、Windows系统下载rustup-init.exe:运行rustup-init.exe:配置环境变量:验证安装:二、macOS系统安装Homebrew(如果尚未安装):三、Linux系统(以Ubuntu为例)安装依赖:使用rustup脚本安装Rust:四、注意事项安装Rust可以通过其官方提供的rustup工具来完成,以下是详细的安装步骤:一、Windows系统下载rustup-in
- Windows 下 Rust 快速安装指南
Sean2077
rust
以下是为前端开发工程师定制的Windows下Rust快速安装指南,结合你已安装的VSCode环境,从安装到开发环境配置一步到位:一、安装Rust前的必要准备1.安装C++构建工具Rust在Windows默认依赖MicrosoftC++构建工具(推荐)或MinGW(轻量但需手动配置)。推荐方案(MSVC):下载VisualStudio2022BuildTools,勾选“使用C++的桌面开发”组件。替
- 解压多个文件
被放养的研究生
bash
Linuxfortarin*.tar.gz;dotarxvf$tar;donefortarin*.tar.bz2;dotarxvf$tar;doneWindowsPowerShellGet-ChildItem-Filter*.tar.gz|ForEach-Object{tar-xzvf$_.Name}说明:Get-ChildItem-Filter*.tar.gz获取当前目录下所有.tar.gz文件
- 【无标题】
小鱼叉
python
PowerShell的执行策略限制导致的PyCharm终端不执行处理方法:这个错误是由于PowerShell的执行策略限制导致的。在Windows系统上,PowerShell有不同的执行策略来控制脚本的运行。默认情况下,可能会禁止运行脚本以提高安全性。要解决这个问题,可以按照以下步骤进行操作:以管理员身份运行PowerShell:在开始菜单中找到PowerShell,右键点击并选择“以管理员身份运
- vue3 vite JavaScript heap out of memory when buildin [windows or mac] 错误问题解决
天河书阁 VicRestart
vue.jsvitenodevue3macos
打包时内存不足的问题正常流程:1、yarnaddincrease-memory-limitcross-env--dev2、package.json的scripts中添加:"fix-memory-limit":"cross-envLIMIT=4096increase-memory-limit"3、yarnrunfix-memory-limit4、yarnbuildMac下流程:1.exportNOD
- Windows 7 下 TensorFlow 安装入门(PyCharm 版)
架构魔术
windowstensorflowpycharm编程
Windows7下TensorFlow安装入门(PyCharm版)TensorFlow是一个流行的开源机器学习框架,广泛应用于深度学习和人工智能领域。本文将指导您在Windows7操作系统上使用PyCharm安装和配置TensorFlow。以下是详细的步骤和相应的源代码。步骤1:安装Python首先,您需要安装Python。TensorFlow支持Python3.5-3.8版本。您可以从Pytho
- 项目如何安装本地tgz包并配置局部registry
开水好喝
NodeJSjavascript
一、判断包来源是否正确1.检查urlcurl2.查看包是否存在npmview--registry=二、局部registry配置步骤:1.全局配置如果你希望对所有项目生效,可以将这行配置添加到全局.npmrc文件中。全局.npmrc文件通常位于以下路径:Windows:C:\Users\\.npmrc添加内容:@sdp.nd:registry=http://registry.npm.sdp.nd2.
- IDEA快捷键
老干妈拌士力架
尚硅谷Javasejava
文章目录ctr+shift+/多行注释windowsideacopilot提示:alt+/代码提示alt+[显示上一个建议alt+]显示下一个建议shift+enter向下插入一行并跳转到下一行alt+insert快速创建构造函数foriTab快速生成for循环i.foreach生成foreach循环ctrl+H打开类层次窗口ctrl+F12查看当前类的所有方法
- NVM安装速通使用手册(Windows版)NVM管理node版本命令手册 NVM使用手册
智绘前端
运维nodewindowsnode.js前端后端
nvm(NodeVersionManager)是一个用于管理Node.js版本的命令行工具。通过nvm,你可以在同一台机器上安装和切换多个Node.js版本,非常适合开发和测试在不同Node.js版本上运行的应用程序一、安装地址1.官方下载:(推荐选择nvm-setup.exe安装包,避免绿色版路径问题)下载地址:GitHubnvm-windows最新版2.站内下载下载地址:nvm-setup-1
- Win10更新安装失败怎么办?Windows10更新安装失败的解决方法
m0_70960708
笔记笔记
有些朋友在更新Win10系统的时候出现了有可用更新但是却一直安装失败无法更新的情况,这种问题应该怎么解决呢?今天系统之家小编就来给大家讲讲Win10电脑系统更新失败的解决方法,朋友们可以按照这个步骤操作一遍,应该是能够解决问题的。1、在Windows10系统,在打开系统更新界面,提示需要重新启动,但是重新启动后,还是无法安装。2、我们把鼠标移到Windows10左下角的开始按钮,然后右键点击,在弹
- Idea快捷键
路飞sky
ideaidea快捷键
Idea快捷键Ctrl+n找classCtrl+shift+n找文件Ctrl+Shift+F,全局查找Alt+f7查看引用Ctrl+Alt+f7弹小窗口查看引用Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按F3可以选择F11自己配置,深入查看F12自己配置,直接查看实现类Ctrl+f12查看类中方法Ctrl+U,转到父类Ctrl+G,定位行Ctrl+o重写Ctrl+I实现接口Alt+i
- Appuploader:让Windows用户也能轻松上传iOS应用
lilili啊啊啊
iosappstore苹果商店上架appuploader
Appuploader:让Windows用户也能轻松上传iOS应用对于Windows开发者而言,上传iOS应用到AppStore曾是一道技术门槛——传统的Xcode工具仅支持macOS系统,而虚拟机或远程Mac服务器又存在效率低、成本高的问题。但借助Appuploader这款工具,Windows用户无需依赖Mac电脑,即可完成iOS证书申请、IPA打包及上传等全流程操作。本文将详细解析具体步骤,助
- FFmpeg 相关音视频技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中...)
信必诺
FFmpeg音视频FFmpegOpenGLQtYUVNV12
❗❗❗更新于2025-03-24: FFmpeg——常用指令集合(附:Windows下多个相同usb摄像头名称一致时解决办法) FFmpeg——在Linux下使用FFmpeg拉取rtsp流解码,留出图像接口供OpenCv处理等(附:源码) FFmpeg——中标麒麟系统下使用FFmpeg内核+Qt界面,制作完整功能音视频播放器(附:源码 FFmpeg——Win10下使
- 【自学笔记】.NET基础知识点总览-持续更新
Long_poem
笔记.net
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录.NET基础知识点总览1..NET简介2.C#语言基础3..NETCore与.NET5+4.集合与泛型5.异步编程6.文件与流操作7.网络编程8.数据库访问代码示例总结.NET基础知识点总览1..NET简介定义:.NET是一个由微软开发的,用于构建多种类型应用程序(如Windows桌面应用、Web应用、移动应用、游戏等)的开源
- 若依Ruoyi之智能售货机运营管理系统(新增运营运维工单管理)
爱吃java的羊儿
若依ruoyi框架sqljavaintellij-idea
idea抽取独立方法快捷键:ctrl+alt+mTaskDto.javapackagecom.dkd.manage.service.impl;importjava.time.Duration;importjava.util.List;importjava.util.stream.Collectors;importcn.hutool.core.bean.BeanUtil;importcn.hutoo
- 超详细的Stable Diffusion WebUI 安装!
AI绘画小33
stablediffusion人工智能AIGC
前言安装方式:使用发行包在带有NVidia-GPU的Windows10/11上安装sd.webui.zip从v1.0.0-pre下载并解压其内容。跑步update.bat。跑步run.bat。Windows上自动安装安装Python3.10.6(较新版本的Python不支持torch),选中“AddPythontoPATH”。【python一定要是3.10.6】这个版本(https://www.p
- 袋鼠数据库工具 6.2 AI 版已上线
袋鼠数据库工具是一款AI驱动的热门数据库系统客户端(SQLite/MySQL/PostgreSQL/...),支持建表、查询、模型、同步、导入导出等功能,支持Windows/Mac/Linux等操作系统,力求打造成好用、好玩、开发友好的SQL工具。重点特性介绍这个版本是基于用户反馈全面提升体验的一个版本,主要改善了对象的点击打开体验、右键菜单体验、改进了连接打开可靠性、改进了工作空间状态栏性能、改
- Windows 下使用 Docker 部署 Go 应用与 Nginx 详细教程
九班长
Golangwindowsdockergolang后端nginx容器学习
一、环境准备1.安装必要软件DockerDesktopforWindows下载地址:DockerDesktop:The#1ContainerizationToolforDevelopers|Docker安装时勾选"使用WSL2引擎"(推荐)WSL2(WindowsSubsystemforLinux)以管理员身份打开PowerShell运行:wsl--installVSCode(可选但推荐)安装Do
- WPF 自定义行为
她说彩礼65万
WPFwpf
在WPF中,自定义行为(CustomBehavior)是一种通过附加属性或逻辑扩展控件功能的方式。行为允许你将特定的交互逻辑封装到一个独立的类中,从而实现代码复用和解耦。这种机制特别适合在MVVM模式下使用,因为它可以避免直接操作控件的代码后置逻辑。WPF的System.Windows.Interactivity或Microsoft.Xaml.Behaviors.Wpf库提供了对行为的支持。以下是
- c#的.Net Framework 的console 项目找不到System.Window.Forms 引用
qq_43361844
c#c#.net开发语言c#遇到的问题
首先确保是建立的.NetFramework的console项目,然后天健reference应用找不到System.Windows.Forms引用打开对应的csproj文件在第一个PropertyGroup下添加true然后在第一个ItemGroup下添加保存然后重新加载项目,或者退出重新打开
- Qt设置程序开机启动
王摆摆摆
Qt
Qt设置程序开机启动:参数isStarttrue为开机启动false为取消开机启动#include//注册表#defineAUTO_RUN"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"voidAutomaticStartup(boolisStart){QStringstrApplicationName=Q
- Python Playwright库全面详解
老胖闲聊
Pythonpython开发语言
Playwright是Microsoft开发的一个现代化的端到端测试和浏览器自动化库,支持Chromium、WebKit和Firefox浏览器。它提供了跨浏览器、跨平台的自动化能力,且具有高性能和可靠性。一、核心特性多浏览器支持:Chromium(Chrome,Edge)WebKit(Safari)Firefox跨平台支持:WindowsmacOSLinux多语言支持:JavaScript/Typ
- python更换国内镜像源三种实用方法
乒乓球爱好AI
python开发语言pip
方法1:(永久更改)在python的命令提示符中运行以下语句,该条语句将pip的下载源永久更改为某个镜像站,这里以清华大学开源镜像站为例:pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple/方法2:(永久更改)windows环境下,在用户目录中创建一个文件夹,该文件夹的命名为pip;在该pip文件夹中新建一个文件
- autohotkey
师从小白
工具autohotkey
windowsautohotkey2.0.2win匹配mac复制粘贴剪切保存和撤销快捷#c::Send"^{c}"#v::Send"^{v}"#x::Send"^{x}"#s::Send"^{s}"#z::{ Send"^{z}"}F8::Exitapp
- 调用SCIP C++接口,viusal studio项目工程搭建(For新手)
搭建步骤1下载与安装SCIP官网编译好的包,得到include、bin、lib、dll文件。面用到的include、bin、lib、dll都来自于SCIP的在windows下的安装目录内容。如果是32位的电脑,则安装,则安装32位的版本。如果是64位的电脑。则安装64位的包。2新建一个vsconsoleapp工程。3对main.cpp中的内容,替换成scip的例子。这个例子来自于下面的网页。htt
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D