- System.DllNotFoundException: 无法加载 DLL“epen.dll”: 找不到指定的模块,Visual C++ Redistributable下载地址
王焜棟琦
C#WinformWPFc#wpfwinform
System.DllNotFoundException:无法加载DLL“epen.dll”:找不到指定的模块。(异常来自HRESULT:0x8007007E)。在ZpenSample.FormZpenSample.OpenDevices()在ZpenSample.FormZpenSample.ReadApID()在ZpenSample.FormZpenSample…ctor()在ZpenSampl
- 新手学习C#常见错误_调用第三方动态库dll
华山自控编程
华山经验c#学习开发语言
大家好,我是朱老师前几天一个学员在学习c#调用halcon动态库时。一直报错:System.DllNotFoundException:“无法加载DLL“halcon”:找不到指定的模块。(异常来自HRESULT:0x8007007E)。”,不知道什么原因。报错代码截图如下:当时开发背景是这样的:该同学在自己电脑A上开发,可以编译,运行成功。然后将代码部署到了另一台机器B上。安装了vs后,编译没有问
- 调用Excel接口报错: 异常来自 HRESULT:0x800A03EC
海梦思心
杂类Excel异常
一、问题重现说明:我目前在做的项目是调用.xml文件来作为导出的格式。在调用Excel.Worksheet.Range()函数的时候,直接抛出异常“异常来自HRESULT:0x800A03EC”二、解决方案检查xml格式文件是否存在错误,包括文件名、字段名,本次错误是因为字段大小写出了问题,原本应该大写的名称写成了小写。如果这篇博客对您有所帮助的话,将是我的荣幸,如果能够再点个赞的话,将是多么美好
- C# winform 对COM组件的调用返回了错误 HRESULT E_FAIL
忒可君
c#开发语言
C#winform报错:要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误:对COM组件的调用返回了错误HRESULTE_FAIL
- 在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (异常来自 HRESULT:0x80070459)
duoni2014
C#
今天上线后突然报这个错误,排查发现是使用Response.Cookies["house_report_list_sqlWhere"].Value=“参数值”这个方法时,“参数值”未进行中文转义造成的(“参数值”为奇数个汉字)。猜想应该此问题应该与中文转义有关。在多字节的目标代码页中,没有此Unicode字符可以映射到的字符。(异常来自HRESULT:0x80070459)
- TComponent::GetTypeInfoCount - C++ Builder
玄坴
C++Builder参考手册➙TComponent➙GetTypeInfoCount头文件:#include命名空间:System::Classes类:TComponent访问权限:protected:函数原型:HRESULT__stdcallGetTypeInfoCount(/*out*/int&Count);System::Classes::TComponent::GetTypeInfoCou
- 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
小张小迪
工作记录c#
试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)问题的原因是x86和x64不匹配修改编译的x86和x64编译就解决这个问题HOperatorSet.FindShapeModel前先进行HSystem.SetSystem("temporary_mem_cache","false");可以减少HALCONerror#6001:Notenoughmemoryavailablei
- C# 未处理System.InvalidOperationException HResult=-2146233079
wangnaisheng
C#WPFc#wpf
1.异常信息:未处理System.InvalidOperationExceptionHResult=-2146233079Message=Thecustomtracelistener'customlistener'doesnothavealistenertypenamesetorthetypeisinvalid(F:\CBCT64\Output\Polaris.exe.Configline45).
- 【已解决】无法加载 DLL“xxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
逍遥ovo
错误windows
目录异常背景及产生原因解决方法异常无法加载DLL“xxx.dll”:找不到指定的模块。(异常来自HRESULT:0x8007007E)。背景及产生原因C#中采用DLLImport静态调用同事用C++写的dll算法库时,出现以下错误:无法加载DLL“xxx.dll”:找不到指定的模块。(异常来自HRESULT:0x8007007E)。解决方法查阅资料得知这种情况一般有以下原因:dll生成的平台(x6
- System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
Ryannn_NN
iis
System.BadImageFormatException:试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)网上很多关于System.BadImageFormatException:试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)的解决办法,我遇到的情况,和网上大佬们说的一样,也是因为64位系统引用了32位的dll,改了无数次的目标平台,还是报
- 怎样实现c#生成的exe文件脱离Halcon的安装环境运行
黄金小码农
c#windows开发语言
当我把winform生成的exe文件安装在没有安装Halcon软件的电脑上并运行时,出现报错如下:无法加载DLL"halconxl":找不到指定的模块。(异常来自HRESULT:0X8007007E)。在exe安装目录中中添加halconxl.dll文件继续运行就了。
- TComponent::GetIDsOfNames - C++ Builder
玄坴
C++Builder参考手册➙TComponent➙GetIDsOfNames头文件:#include命名空间:System::Classes类:TComponent访问权限:protected:函数原型:HRESULT__stdcallGetIDsOfNames(constGUID&IID,void*Names,intNameCount,intLocaleID,void*DispIDs);Sys
- SolidWorks二次开发遇到的错误
周杰伦fans
SolidWorks二次开发c#
System.Runtime.InteropServices.COMException:“检索COM类工厂中CLSID为{545470A9-EF3C-4FC0-AA89-9676EE0BF318}的组件失败,原因是出现以下错误:80040154没有注册类(异常来自HRESULT:0x80040154(REGDB_E_CLASSNOTREG))。”这里是因为Face2face=newFace2();
- 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
txwtech
c#c#
试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)c#调用动态库是报错目前平台改为x64
- 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
未来无限
编程通用C#
我的机器是64位的,但是要在调试C#程序的时候,有一个DLL文件是在32位的环境里开发的,结果调试的时候,出现了:试图加载格式不正确的程序。(异常来自HRESULT:0x8007000B)。找的的解决方案是:在“解决方案资源管理器”里,右键该项目点击属性。在属性窗口里选择“生成”——“目标平台”下拉里选中“X86"即可。当然如果是32位机器调用64位开发环境开发的DLL同理。
- C# 未处理 System.Management.ManagementException HResult=-2146233087 Message=常规故障 Source=System.M
wangnaisheng
C#c#
报错处代码:publicstaticboolGetPrinterStatus(stringPrinterName,refstringstrRet){//获取状态字符串,并用?作为分割符ManagementClassmanagementClass=newManagementClass("Win32_Printer");ManagementObjectCollectionmanagementObjec
- System.Exception HResult=0x80131500 Message=String or binary data would be truncated. The statem
rjr.ToString
C#数据库
报错信息:System.ExceptionHResult=0x80131500Message=Stringorbinarydatawouldbetruncated.Thestatem数据库的表字段创建太短,插入数据过长。导致报错解决方案就是把数据库字段的大小改大点。比如nvarchar(10)改成nvarchar(50)。
- CreateGUID - C++ Builder
玄坴
C++Builder参考手册➙System::Sysutils➙CreateGUID创建一个GUID(globallyuniqueidentifier)头文件:#include命名空间:System::Sysutils函数原型:HRESULT__fastcallCreateGUID(GUID&Guid);参数:Guid:用于返回创建的GUID(globallyuniqueidentifier);返
- “exception from HRESULT:0x80072EE4”问题。 Microsoft store下载UWP应用Podcast等应用报错“0x80072EE4”
Grit_Wang
bugmicrosoft
原因Internet临时文件夹发生了奇怪的问题。导致.Net在缓存从网络下载的图片的时候异常。解决办法请按下面的顺序尝试:1.打开控制面板。点击“网络和Internet”2.点击“管理浏览器加载项”。3.点击“常规”→“设置”。4.打开“隐藏的项目”。5.点击3步骤中,的“设置”;然后点击“移动文件夹”,路径选择为“C:\Users\***\AppData\Local\Microsoft\Wind
- TComponent::Invoke - C++ Builder
玄坴
C++Builder参考手册➙TComponent➙Invoke头文件:#include命名空间:System::Classes类:TComponent访问权限:protected:函数原型:HRESULT__stdcallInvoke(intDispID,constGUID&IID,intLocaleID,System::WordFlags,void*pParams,void*pVarResul
- 无法加载 DLL“halcon”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
zhangsansecond
视觉halcon0x8007007E找不到指定模块
将项目拷贝到没有安装halcon的电脑上,出现标题所示异常参考文章:https://www.51halcon.com/thread-997-1-1.html我的解决办法是将halcon.dll文件拷贝到\bin\debug目录下
- 打开word文档报错,提示HRESULT 0x80004005 位置: 部分: /word/comments.xml,行: 0,列: 0
Junson142099
桌面运维wordcomments0x80004005批注修订
某用户遇到这样一个奇怪的问题,就是回复完word的批注后,保存文档再打开就会报错,提示很抱歉,无法打开XXX,因为内容有问题。,详细信息提示HRESULT0x80004005位置:部分:/word/comments.xml,行:0,列:0comments是评论的意思,经排除法测试,发现是只要一答复别人的某条批注,就会触发这个问题,而别人使用的是mac版的Office,怀疑是版本不一致,同时这条批注
- 如何将一个 HRESULT 转换为 Win32 错误码?
拓扑梅尔-漫漫开发路
OldNewThing软件开发系统设计windows
地球人都知道,可以使用HRESULT_FROM_WIN32这个宏将一个Win32错误码转换为一个HRESULT,但是如何将一个HRESULT转换为Win32错误码呢?让我们先看看HRESULT_FROM_WIN32这个宏的定义:#defineHRESULT_FROM_WIN32(x)\((HRESULT)(x)>请移步至topomel.com以查看图片>请移步至topomel.com以查看图片>请
- 错误处理(二)—— Exception from HRESULT: 0x800A03EC
HymanLiuTS
C#中的office操作编程ExceptionfromHRESU0x800A03ECC#操作Excel错误
1、Excel的版本问题。在高版本的Office环境中编写的Excel,在低版本中进行操作就可能出现该问题,可能是高版本的部分内容(如批注)无法在低版本中兼容。2、索引问题。Excel中所有的索引都是从1开始的,比如取第一个批注Excelcomment=Comments[1]。不能用0,Excelcomment=Comments[0]可能出现该问题。
- 无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块
ava139
解决方案:在项目属性-生成-目标平台改为x86就好了。(异常来自HRESULT:0x8007007E)。另外,千万别忘了在项目Program的Main函数中添加下一行代码。ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
- 关于Kinect SDK V2的使用要点和开发环境搭建
帅小帅家的小吴昊
Kinect开发c++opencvmicrosoft
前言记录自己在微软官网学习KinectSDKV2的一些思考看法和一些使用这个SDK很重要的关键点;本人的SDK使用以及OpenCV环境的搭建的研究背景是改进Kinect的人体骨骼数据识别算法;有一些新的思考也会及时加入这篇文章中。SDK中的函数返回值SDK中的所有的函数返回值都是HRESULT,它是用来表示函数执行状态的,如果成功则返回S_OK;否则,返回失败代码。也就是说函数返回的并不是操作的相
- WPF中使用System.Windows.Clipboard.SetText出现OpenClipboard 失败的解决办法
寻找无名的特质
最近在WPF项目中遇到一个问题,当使用System.Windows.Clipboard.SetText时,在有些机器上遇到OpenClipboard失败的错误,错误的详细信息如下:System.Runtime.InteropServices.COMException(0x800401D0):OpenClipboard失败(异常来自HRESULT:0x800401D0(CLIPBRD_E_CANT_
- 【组件专题】初识COM组件
cccdddbbb88
开发语言
COM的全称是ComponentObjectModel组件对象模型。1、COM基本知识1.1返回值HRESULTCOM要求所有的方法都会返回一个HRESULT类型的错误号。1.2初识IDL每个标准的COM组件都需要一个接口定义文件,文件的扩展名为IDL作者:帅后炮链接:https://www.zhihu.com/question/53350764/answer/134594746来源:知乎著作权归
- 【语言-c#】托管调试助手“DisconnectedContext”在“xxx.exe”中检测到问题。 RPC_E_CANTCALLOUT_ININPUTSYNCCALL
少莫千华
语言-CSharp
问题描述托管调试助手“DisconnectedContext”在“[ProjectDirectory]\[ProjectName].exe”中检测到问题。其他信息:针对此RuntimeCallableWrapper向COM上下文0x8306e8的转换失败,错误如下:因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫。(异常来自HRESULT:0x8001010D(RPC_E_CANTCA
- C# ArcGIS HRESULT:0x80040228
Prince_Treasure
arcgisc#
ArcObjects或者ArcEngine的C#版本在读取shp文件的时候报错:HRESULT:0x80040228首先确保你的license可用,方法是新建一个winform程序,向界面拖入license控件,如果能过成功则表示license没问题,如果拖入就直接报错则表明license有问题,需要重新安装或者换个安装包。如果上面一步的license检查没有问题,在读取的时候报错HRESULT:
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1