无法定位程序输入点except(电脑每次启动都会出现无法定位程序输入点except1于动态链接库MSVR120dll)
资讯
2023-11-14
428
1. 无法定位程序输入点except,电脑每次启动都会出现无法定位程序输入点except1于动态链接库MSVR120dll?
出现这个问题的原因一般是程序link时使用的导入库(.lib)和运行时找到的dll不是同一个版本的,导入库中有_except1这个符号,link成功.而运行时加载的dll中,并没有导出这个符号,就会报这个错误.安装下Download Visual C++ Redistributable Packages for Visual Studio 2013 from Official Microsoft Download Center试试呢?顺便看了下我电脑上的某个msvcr120.dll:是存在这个导出符号的.
2. forofwithatfrom这几个介词的用法?
表示计量的介词:at, for, by
1. at 表示“以……速度”“以……价格”。
It flies at about 900 kilometers an hour. 它以每小时900公里的速度飞行。
I sold my car at a high price. 我以高价出售了我的汽车。
2. for 表示“用……交换,以……为代价”。
He sold his car for 500 dollars. 他以五百元把车卖了。
注意:at表示单价(price) ,for表示总钱数。
3. by 表示“以……计”,后跟度量单位。
They paid him by the month. 他们按月给他计酬。
Here eggs are sold by weight. 在这里鸡蛋是按重量卖的。
表示材料的介词:of, from, in
1. of 成品仍可看出原料。
This box is made of paper. 这个盒子是纸做的。
2. from 成品已看不出原料。
Wine is made from grapes. 葡萄酒是葡萄酿成的。
3. in 表示用某种材料或语言。
Please fill in the form in pencil first. 请先用铅笔填写这个表格。
They talk in English. 他们用英语交谈。
表示工具或手段的介词:by, with, on
1. by 用某种方式,多用于交通。
I went there by bus. 我坐公共汽车去那儿。
2. with表示“用某种工具”。
He broke the window with a stone. 他用石头把玻璃砸坏了。
注意:with表示用某种工具时,必须用冠词或物主代词。
3. on 表示“以……方式”,多用于固定词组。
They talked on the telephone. 他们通过电话进行交谈。
She learns English on the radio/on TV. 她通过收音机/电视学英语。
表示关于的介词:of, about, on
1. of 仅是提到或谈到过某人或某事。
He spoke of the film the other day. 他前几天提到了这部影片。
2. about 指“关于”某人或某事物的较详细的情况。
Can you tell me something about yourself? 你能告诉我关于你自己的事情吗?
3. on 指“关于”学术性的或严肃的事。
It’s a textbook on the history of china. 它是一本有关中国历史的教科书。
表原因或理由的介词:for, at, from, of, with, by, because of
1. for 表示原因,与sorry, famous, punish, praise, thank, blame连用。
I am sorry for what I said to you. 我后悔不该对你讲那些话。
2. at 指情感变化的原因,意为“因听到或看到而……”。
He was surprised at the news. 听到这消息他大吃一惊。
3. from 指“外在的原因”,如受伤、车祸等。
He died from the wound. 他因受伤而致死。
4. of 指“内在的原因”,如病、饿等。
The old man died of hunger. 老人死于饥饿。
5. with 指生理上或情感上的由外界到内心的原因。
Hearing the news, he jumped with joy. 他们听到这个消息,欣喜若狂。
He was shaking with anger. 他气得浑身发抖。
6. by 表示外部的,尤其是暴力的或无意中造成某种结果的原因。
Her body was bent by age. 他因年老背弯了。
She took your umbrella by mistake. 我因弄错拿了你的雨伞。
7. because of 表示引起结果的直接原因。
He retired last month because of illness/because he ill.
8. owing to 多表示引起某不良后果的原因。
Owing to the rain they could not come. 由于下雨他们没来。
9. thanks to 表示引起某种幸运结果的原因,常译为“幸亏……,多亏……”。
Thanks to John, we won the game. 多亏约翰,我们才赢了这场比赛。
10. out of 表示动机的起因,常译为“出于……”。
He asked the question out of curiosity. 他出于好奇才问了那个问题。
11. through 多表示因局部而影响全局的原因。
The war was lost through bad organization. 战争因组织不周而失败了。
表示好像或当作的介词:like, as
1. like表示“像……一样”,其实不是。
Peter the Great, like his country, was strong and proud. 彼得大帝像他的国家一样强健和自豪。
2. as表示“作为,以……身份”,其实也是。
He talked to me as a father. 他以父亲的身份跟我谈话。注:as作连词时,可表示“好像……”。
The work is not so difficult as you imagine. 这工作不像你想像的那么困难。
表示支持或反对的介词:against, foragainst 反对,for支持,互为反义词。
Are you for my idea or against it? 你赞同还是反对我的想法?
表示除某人某物外的介词:besides, excep
1. besides是包括后面所提人或物在内的“除……外,还”。
Thirty students went to the cinema besides him. 除他以外,还有30个学生去看了电影(共计31人去)。
He is interested in tennis besides(=as well as)football.他对足球和网球都感兴趣。
2. except是指不包括后面所提人或物在内的“除去”。
Everyone is excited except me. 除我以外的每个人都很激动(我并不激动)。
All the visitors are Japanese except him. 除他以外的所有游客都是日本人。(他不是日本人)
3. 位置为0x00a67de7是怎么回事?
运行软件或游戏出现提示"该内存不能为read(written)"或(应用程序发生异常unknown software exception)的完全解决方案:1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者内存不能“written”文件保护.需更新为带WHQL认证的驱动.2、中毒及被捆绑安装了一个或多个流氓软件恶意程序.建议杀毒.这出现IE或者系统崩溃的机会也比较大,也有可能因文件保护而报错.(xyz5819 意念时空) 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件的实时监控程序.建议不要安装2款以上的杀毒软件.或功能类似重复的软件.4、系统本身存在漏洞,导致容易受到网络攻击。建议打全所有系统安全补丁.并设置开启自动更新.(xyz5819 意念时空) 5、病毒问题也是主要导致出现内存不能为read(written)、文件保护、Explorer.exe、IE浏览器错误等报错提示的.(xyz5819 意念时空) 6、玩游戏时候出现内存不能为read(written),需更新显卡驱动为WHQL认证的显卡驱动.另安装游戏常用支持环境,如:DX\.net\C++2005\C++2008\live\PhysX.(xyz5819 意念时空)7、如果是游戏或软件运行时出现内存不能为read(written),把该游戏或程序安装到不包含任何中文的目录路径下试试.(xyz5819 意念时空) 8、软件或游戏自身不足存在BUG的问题,可下载[内存不能为read修复工具]进行修复.还不行就卸载掉换其他下载网址下载或更换版本试试.9、电脑内存与主板兼容性不好也是导致内存不能为read(written)的致命原因!这种情况需用替换法,确定哪个具体硬件不兼容,然后更换. 10.如果以上问题不能解决,直接重新做系统吧(建议用原版镜像安装盘盘)这种情况下再尝试手动修复可能性已经不大了.(xyz5819 意念时空) 11.Win7是DX11,如果你要玩以前XP上的游戏,可能需要安装DX90C的补丁。最关键的是你显卡的驱动要带WHQL认证的,不然很多游戏进去就是蓝屏。(xyz5819 意念时空) 12.个人体会:这是一种像蓝屏一样很常见的系统报错,尽管提及到内存出错,其实更多是系统或程序(游戏)本身的问题所导致的.如果只是偶尔发生,直接点确定关闭报错窗口,重启电脑,一般不会影响正常使用.如果频繁发生的话,是运行什么报错的就重装什么是最简便快键的修复办法.如:是游戏和程序报错就卸载后重装(换版本),如果是系统自带程序IE浏览器,资源管理器报错,就使用安装版进行覆盖安装或者彻底重装.(xyz5819 意念时空) 游戏运行出错原因及解决方案:在玩游戏之前先确定你的电脑配置是否达到游戏运行的要求.(xyz5819 意念时空)一.如何安装游戏: (xyz5819 意念时空)1.请双击exe程序进行自动安装,中间可能会弹出“正在释放文件”提示,请勿取消。(xyz5819 意念时空)2.安装完成之后,即可在桌面找到快捷方式进入游戏。(或者进入游戏安装目录找到相关exe运行游戏)(xyz5819 意念时空)二.运行游戏出错: (xyz5819 意念时空)1.关闭所有杀毒防护软件. (xyz5819 意念时空)2.确认游戏安装目录为英文.(xyz5819 意念时空)3.是否安装了最新的DX/C++/.net/live等游戏常用的支持环境,并更新显卡驱动为WHQL认证的显卡驱动.(xyz5819 意念时空)不知你具体要玩的是极品飞车几啊,自己去看看电脑配置是否符合要求吧.
4. photoshopcs4软件打开为什么会出现无法找到入口?
打开AdobephotoshopCS4时就弹出上面的窗口:无法找到入口,无法定位输入点-except-handler4-common于动态链接库msvcrt.dll上。点击确定就打开了界面。
5. 在WebClient请求期间发生异常C?
提案里把「错误」分成五类
机器抽象被破坏:建议直接 terminate代码 bug:建议使用 Contracts(默认 terminate)OOM:建议用 new(nothrow) 和 try_ 系列函数可恢复的错误:建议抛异常或者返回错误码部分成功:建议当作成功C/C++ 语言都是基于一台抽象机器定义的,如果这样的抽象被破坏根本没得玩,只能退出。例子是「栈」耗尽:你不可能避免、也不可能解决。
代码 bug 就是类似「前置条件不满足」的情况,C/C++ 传统上的处理办法是「需要满足某某条件,如果不满足是未定义行为」(C++ 一度误入 OO 歧途跟风搞出 std::invalid_argument 这种就让它随风而去吧),用户代码一般推荐 assert。提案中建议统一交给 Contracts 处理我觉得非常好,因为这样的函数不会涉及未定义行为,同时违反时会有明确的报错信息,对懒人友好。
「部分成功」即类似「传给 snprintf 的缓冲长度不够用」这种,只要有良好的文档定义此时的行为,这种情况完全可以当作成功,而不是错误。
剩下的两个就是大头:「异常 / 错误码」和「OOM」。
静态异常是这个提案的大头。
说到底,没有异常的 C++ 根本不是标准 C++,标准库也依赖于异常。很多 C++ 工程和规范不接受异常,主要是因为:
最终二进制体积膨胀,同时运行时需要额外的空间和时间开销运行时空间和时间开销不确定新的 throws 函数 + std::error 的组合是披着异常外衣的错误码,内在有点像 Swift 里的一种错误汇报范式:
提案中的代码类似这样
std::error 可以理解为两个指针,所以可以和正常的返回值共享同一个通道(甚至寄存器):
payload:可以是错误码,也可以是异常指针 exception_ptr。domain:类似 std::error_category 性质,区分不同领域的错误码,可以是哈希也可以是指针如果 throws 函数中有动态异常试图越界,则通过某种机制映射为对应的 std::error,在 payload 中保存该异常的指针。
如果在普通函数中所调用的 throws 函数抛出异常,则通过某种机制从 std::error 映射为对应的动态异常对象抛出。
这样一来,静态异常和普通的返回值无异,不再依赖堆分配、RTTI,只是语法上与「传统」动态异常相似。同时还兼顾了已有代码,可以说是个非常不错的解决方案了。
You don't pay for what you don't use.When you do use it you can’t reasonably write it more efficiently by hand.最后说一下 OOM 吧。
首先,我一直觉得「OOM 不可恢复」并不成立,这一点提案中也提到了「OOM 不等于内存耗尽,只是无法获得指定大小的内存,请求 1T 内存失败,换 1G 内存可能就成功了」。例如图片解码时 OOM 可以做 subsampling。
提案中建议 new 失败统一 terminate:
如果需要旧行为可以替换 new handler 抛 std::bad_alloc如果需要自行处理可以用 new(nothrow)标准库中提供 try_ 系列函数,例如 std::vector::reserve 对应 std::vector::try_reserve默认构造函数默认 noexcept我个人对此颇有微词,非常希望这一部分得不到通过:
自行替换 new handler:要求改全局的东西总有种坏味道,也让库作者、调用者很为难new(nothrow):这种特殊化反而增加工作量,new 一个对象还得同时用两种不同的错误处理机制处理问题(分别处理构造函数抛出的异常和 new 返回的空指针)try_ 系列函数:又是「异常改错误码」的变体,如果纳入上文的 throws 函数范畴似乎更好有趣的是,提案中针对是否需要特殊化 OOM(是否需要区分开头的第 3 和第 4 类错误)分别列举了正反双方观点。不支持特殊化 OOM 的基本都是「既然一定是显式申请的,如何处理应该由调用方决定」「有某某解决方案」这种客观理由;支持特殊化 OOM 的理由在我看来大多很任性很讽刺:
难处理、很多人处理错了恢复需要额外的特殊处理(无法直面事实)(按:前面括号里的内容不是我加的)某些情况下不可能发生这样的错误你自己标准里的解决方法就有不一致的地方直接忽略的话会带来很多实现上的好处最后一点才是正经的理由,如果说实现上带来方便优化等好处,特殊处理 OOM 似乎确实说得过去。而其它理由基本都只是在抱怨、逃避问题,非常欣赏作者的那个括号:无法直面事实。
6. there的中文意思?
out there的具体意思
第一种解释:不知道在什么地方(in a place that could be anywhere except here )
例句:My real father is out there and one day I plan to find him. 我的生父就在某个地方,我打算哪天去找他。
第二种解释:在那里〔在大家都会注意到的地方〕(where someone or something can be noticed by many people)
例句:Jerry Lewis is out there all the time raising money for disabled kids. 杰里•刘易斯总是在那里为残疾孩子募捐。
第三种解释: 〔想法﹑艺术作品等〕古怪的,出格的(informal an idea, work of art etc that is out there is so unusual that it might seem silly or extreme)
例句:He’s brilliant, but some of his ideas are really out there. 他很聪明,但有些想法真的很出格。
7. 无法定位程序输入点exceptha?
出现这个提示情况是:WindowsXP系统;软件包括:windowlivewriter2009,windowsmessenger2009,firefox3.5等非常新的版本。
这个提示出现后,点击确定,并不影响程序的使用。这个问题出现的原因,其实微软自己的问题。可谓是微软的Vista后遗症吧。
在Vista系统里,有个挺酷的功能,就是“程序缩略图”,有点3D效果,这个功能,调用了dwmapi.dll这个库,而dwmapi.dll又引用了msvcrt.dll中的_except_handler4_common功能。
然而,在XP系统中,系统自带的msvcrt.dll 和Vista中的msvcrt.dll版本不同,并没有这个_except_handler4_common,结果就出现了启动程序时,遇到的“无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上”的错误提示。
解决方法:
将c:\windows\system32下的dwmapi.dll改名,例如:改为dwmapi.dll.bak。
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
1. 无法定位程序输入点except,电脑每次启动都会出现无法定位程序输入点except1于动态链接库MSVR120dll?
出现这个问题的原因一般是程序link时使用的导入库(.lib)和运行时找到的dll不是同一个版本的,导入库中有_except1这个符号,link成功.而运行时加载的dll中,并没有导出这个符号,就会报这个错误.安装下Download Visual C++ Redistributable Packages for Visual Studio 2013 from Official Microsoft Download Center试试呢?顺便看了下我电脑上的某个msvcr120.dll:是存在这个导出符号的.
2. forofwithatfrom这几个介词的用法?
表示计量的介词:at, for, by
1. at 表示“以……速度”“以……价格”。
It flies at about 900 kilometers an hour. 它以每小时900公里的速度飞行。
I sold my car at a high price. 我以高价出售了我的汽车。
2. for 表示“用……交换,以……为代价”。
He sold his car for 500 dollars. 他以五百元把车卖了。
注意:at表示单价(price) ,for表示总钱数。
3. by 表示“以……计”,后跟度量单位。
They paid him by the month. 他们按月给他计酬。
Here eggs are sold by weight. 在这里鸡蛋是按重量卖的。
表示材料的介词:of, from, in
1. of 成品仍可看出原料。
This box is made of paper. 这个盒子是纸做的。
2. from 成品已看不出原料。
Wine is made from grapes. 葡萄酒是葡萄酿成的。
3. in 表示用某种材料或语言。
Please fill in the form in pencil first. 请先用铅笔填写这个表格。
They talk in English. 他们用英语交谈。
表示工具或手段的介词:by, with, on
1. by 用某种方式,多用于交通。
I went there by bus. 我坐公共汽车去那儿。
2. with表示“用某种工具”。
He broke the window with a stone. 他用石头把玻璃砸坏了。
注意:with表示用某种工具时,必须用冠词或物主代词。
3. on 表示“以……方式”,多用于固定词组。
They talked on the telephone. 他们通过电话进行交谈。
She learns English on the radio/on TV. 她通过收音机/电视学英语。
表示关于的介词:of, about, on
1. of 仅是提到或谈到过某人或某事。
He spoke of the film the other day. 他前几天提到了这部影片。
2. about 指“关于”某人或某事物的较详细的情况。
Can you tell me something about yourself? 你能告诉我关于你自己的事情吗?
3. on 指“关于”学术性的或严肃的事。
It’s a textbook on the history of china. 它是一本有关中国历史的教科书。
表原因或理由的介词:for, at, from, of, with, by, because of
1. for 表示原因,与sorry, famous, punish, praise, thank, blame连用。
I am sorry for what I said to you. 我后悔不该对你讲那些话。
2. at 指情感变化的原因,意为“因听到或看到而……”。
He was surprised at the news. 听到这消息他大吃一惊。
3. from 指“外在的原因”,如受伤、车祸等。
He died from the wound. 他因受伤而致死。
4. of 指“内在的原因”,如病、饿等。
The old man died of hunger. 老人死于饥饿。
5. with 指生理上或情感上的由外界到内心的原因。
Hearing the news, he jumped with joy. 他们听到这个消息,欣喜若狂。
He was shaking with anger. 他气得浑身发抖。
6. by 表示外部的,尤其是暴力的或无意中造成某种结果的原因。
Her body was bent by age. 他因年老背弯了。
She took your umbrella by mistake. 我因弄错拿了你的雨伞。
7. because of 表示引起结果的直接原因。
He retired last month because of illness/because he ill.
8. owing to 多表示引起某不良后果的原因。
Owing to the rain they could not come. 由于下雨他们没来。
9. thanks to 表示引起某种幸运结果的原因,常译为“幸亏……,多亏……”。
Thanks to John, we won the game. 多亏约翰,我们才赢了这场比赛。
10. out of 表示动机的起因,常译为“出于……”。
He asked the question out of curiosity. 他出于好奇才问了那个问题。
11. through 多表示因局部而影响全局的原因。
The war was lost through bad organization. 战争因组织不周而失败了。
表示好像或当作的介词:like, as
1. like表示“像……一样”,其实不是。
Peter the Great, like his country, was strong and proud. 彼得大帝像他的国家一样强健和自豪。
2. as表示“作为,以……身份”,其实也是。
He talked to me as a father. 他以父亲的身份跟我谈话。注:as作连词时,可表示“好像……”。
The work is not so difficult as you imagine. 这工作不像你想像的那么困难。
表示支持或反对的介词:against, foragainst 反对,for支持,互为反义词。
Are you for my idea or against it? 你赞同还是反对我的想法?
表示除某人某物外的介词:besides, excep
1. besides是包括后面所提人或物在内的“除……外,还”。
Thirty students went to the cinema besides him. 除他以外,还有30个学生去看了电影(共计31人去)。
He is interested in tennis besides(=as well as)football.他对足球和网球都感兴趣。
2. except是指不包括后面所提人或物在内的“除去”。
Everyone is excited except me. 除我以外的每个人都很激动(我并不激动)。
All the visitors are Japanese except him. 除他以外的所有游客都是日本人。(他不是日本人)
3. 位置为0x00a67de7是怎么回事?
运行软件或游戏出现提示"该内存不能为read(written)"或(应用程序发生异常unknown software exception)的完全解决方案:1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者内存不能“written”文件保护.需更新为带WHQL认证的驱动.2、中毒及被捆绑安装了一个或多个流氓软件恶意程序.建议杀毒.这出现IE或者系统崩溃的机会也比较大,也有可能因文件保护而报错.(xyz5819 意念时空) 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件的实时监控程序.建议不要安装2款以上的杀毒软件.或功能类似重复的软件.4、系统本身存在漏洞,导致容易受到网络攻击。建议打全所有系统安全补丁.并设置开启自动更新.(xyz5819 意念时空) 5、病毒问题也是主要导致出现内存不能为read(written)、文件保护、Explorer.exe、IE浏览器错误等报错提示的.(xyz5819 意念时空) 6、玩游戏时候出现内存不能为read(written),需更新显卡驱动为WHQL认证的显卡驱动.另安装游戏常用支持环境,如:DX\.net\C++2005\C++2008\live\PhysX.(xyz5819 意念时空)7、如果是游戏或软件运行时出现内存不能为read(written),把该游戏或程序安装到不包含任何中文的目录路径下试试.(xyz5819 意念时空) 8、软件或游戏自身不足存在BUG的问题,可下载[内存不能为read修复工具]进行修复.还不行就卸载掉换其他下载网址下载或更换版本试试.9、电脑内存与主板兼容性不好也是导致内存不能为read(written)的致命原因!这种情况需用替换法,确定哪个具体硬件不兼容,然后更换. 10.如果以上问题不能解决,直接重新做系统吧(建议用原版镜像安装盘盘)这种情况下再尝试手动修复可能性已经不大了.(xyz5819 意念时空) 11.Win7是DX11,如果你要玩以前XP上的游戏,可能需要安装DX90C的补丁。最关键的是你显卡的驱动要带WHQL认证的,不然很多游戏进去就是蓝屏。(xyz5819 意念时空) 12.个人体会:这是一种像蓝屏一样很常见的系统报错,尽管提及到内存出错,其实更多是系统或程序(游戏)本身的问题所导致的.如果只是偶尔发生,直接点确定关闭报错窗口,重启电脑,一般不会影响正常使用.如果频繁发生的话,是运行什么报错的就重装什么是最简便快键的修复办法.如:是游戏和程序报错就卸载后重装(换版本),如果是系统自带程序IE浏览器,资源管理器报错,就使用安装版进行覆盖安装或者彻底重装.(xyz5819 意念时空) 游戏运行出错原因及解决方案:在玩游戏之前先确定你的电脑配置是否达到游戏运行的要求.(xyz5819 意念时空)一.如何安装游戏: (xyz5819 意念时空)1.请双击exe程序进行自动安装,中间可能会弹出“正在释放文件”提示,请勿取消。(xyz5819 意念时空)2.安装完成之后,即可在桌面找到快捷方式进入游戏。(或者进入游戏安装目录找到相关exe运行游戏)(xyz5819 意念时空)二.运行游戏出错: (xyz5819 意念时空)1.关闭所有杀毒防护软件. (xyz5819 意念时空)2.确认游戏安装目录为英文.(xyz5819 意念时空)3.是否安装了最新的DX/C++/.net/live等游戏常用的支持环境,并更新显卡驱动为WHQL认证的显卡驱动.(xyz5819 意念时空)不知你具体要玩的是极品飞车几啊,自己去看看电脑配置是否符合要求吧.
4. photoshopcs4软件打开为什么会出现无法找到入口?
打开AdobephotoshopCS4时就弹出上面的窗口:无法找到入口,无法定位输入点-except-handler4-common于动态链接库msvcrt.dll上。点击确定就打开了界面。
5. 在WebClient请求期间发生异常C?
提案里把「错误」分成五类
机器抽象被破坏:建议直接 terminate代码 bug:建议使用 Contracts(默认 terminate)OOM:建议用 new(nothrow) 和 try_ 系列函数可恢复的错误:建议抛异常或者返回错误码部分成功:建议当作成功C/C++ 语言都是基于一台抽象机器定义的,如果这样的抽象被破坏根本没得玩,只能退出。例子是「栈」耗尽:你不可能避免、也不可能解决。
代码 bug 就是类似「前置条件不满足」的情况,C/C++ 传统上的处理办法是「需要满足某某条件,如果不满足是未定义行为」(C++ 一度误入 OO 歧途跟风搞出 std::invalid_argument 这种就让它随风而去吧),用户代码一般推荐 assert。提案中建议统一交给 Contracts 处理我觉得非常好,因为这样的函数不会涉及未定义行为,同时违反时会有明确的报错信息,对懒人友好。
「部分成功」即类似「传给 snprintf 的缓冲长度不够用」这种,只要有良好的文档定义此时的行为,这种情况完全可以当作成功,而不是错误。
剩下的两个就是大头:「异常 / 错误码」和「OOM」。
静态异常是这个提案的大头。
说到底,没有异常的 C++ 根本不是标准 C++,标准库也依赖于异常。很多 C++ 工程和规范不接受异常,主要是因为:
最终二进制体积膨胀,同时运行时需要额外的空间和时间开销运行时空间和时间开销不确定新的 throws 函数 + std::error 的组合是披着异常外衣的错误码,内在有点像 Swift 里的一种错误汇报范式:
提案中的代码类似这样
std::error 可以理解为两个指针,所以可以和正常的返回值共享同一个通道(甚至寄存器):
payload:可以是错误码,也可以是异常指针 exception_ptr。domain:类似 std::error_category 性质,区分不同领域的错误码,可以是哈希也可以是指针如果 throws 函数中有动态异常试图越界,则通过某种机制映射为对应的 std::error,在 payload 中保存该异常的指针。
如果在普通函数中所调用的 throws 函数抛出异常,则通过某种机制从 std::error 映射为对应的动态异常对象抛出。
这样一来,静态异常和普通的返回值无异,不再依赖堆分配、RTTI,只是语法上与「传统」动态异常相似。同时还兼顾了已有代码,可以说是个非常不错的解决方案了。
You don't pay for what you don't use.When you do use it you can’t reasonably write it more efficiently by hand.最后说一下 OOM 吧。
首先,我一直觉得「OOM 不可恢复」并不成立,这一点提案中也提到了「OOM 不等于内存耗尽,只是无法获得指定大小的内存,请求 1T 内存失败,换 1G 内存可能就成功了」。例如图片解码时 OOM 可以做 subsampling。
提案中建议 new 失败统一 terminate:
如果需要旧行为可以替换 new handler 抛 std::bad_alloc如果需要自行处理可以用 new(nothrow)标准库中提供 try_ 系列函数,例如 std::vector::reserve 对应 std::vector::try_reserve默认构造函数默认 noexcept我个人对此颇有微词,非常希望这一部分得不到通过:
自行替换 new handler:要求改全局的东西总有种坏味道,也让库作者、调用者很为难new(nothrow):这种特殊化反而增加工作量,new 一个对象还得同时用两种不同的错误处理机制处理问题(分别处理构造函数抛出的异常和 new 返回的空指针)try_ 系列函数:又是「异常改错误码」的变体,如果纳入上文的 throws 函数范畴似乎更好有趣的是,提案中针对是否需要特殊化 OOM(是否需要区分开头的第 3 和第 4 类错误)分别列举了正反双方观点。不支持特殊化 OOM 的基本都是「既然一定是显式申请的,如何处理应该由调用方决定」「有某某解决方案」这种客观理由;支持特殊化 OOM 的理由在我看来大多很任性很讽刺:
难处理、很多人处理错了恢复需要额外的特殊处理(无法直面事实)(按:前面括号里的内容不是我加的)某些情况下不可能发生这样的错误你自己标准里的解决方法就有不一致的地方直接忽略的话会带来很多实现上的好处最后一点才是正经的理由,如果说实现上带来方便优化等好处,特殊处理 OOM 似乎确实说得过去。而其它理由基本都只是在抱怨、逃避问题,非常欣赏作者的那个括号:无法直面事实。
6. there的中文意思?
out there的具体意思
第一种解释:不知道在什么地方(in a place that could be anywhere except here )
例句:My real father is out there and one day I plan to find him. 我的生父就在某个地方,我打算哪天去找他。
第二种解释:在那里〔在大家都会注意到的地方〕(where someone or something can be noticed by many people)
例句:Jerry Lewis is out there all the time raising money for disabled kids. 杰里•刘易斯总是在那里为残疾孩子募捐。
第三种解释: 〔想法﹑艺术作品等〕古怪的,出格的(informal an idea, work of art etc that is out there is so unusual that it might seem silly or extreme)
例句:He’s brilliant, but some of his ideas are really out there. 他很聪明,但有些想法真的很出格。
7. 无法定位程序输入点exceptha?
出现这个提示情况是:WindowsXP系统;软件包括:windowlivewriter2009,windowsmessenger2009,firefox3.5等非常新的版本。
这个提示出现后,点击确定,并不影响程序的使用。这个问题出现的原因,其实微软自己的问题。可谓是微软的Vista后遗症吧。
在Vista系统里,有个挺酷的功能,就是“程序缩略图”,有点3D效果,这个功能,调用了dwmapi.dll这个库,而dwmapi.dll又引用了msvcrt.dll中的_except_handler4_common功能。
然而,在XP系统中,系统自带的msvcrt.dll 和Vista中的msvcrt.dll版本不同,并没有这个_except_handler4_common,结果就出现了启动程序时,遇到的“无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上”的错误提示。
解决方法:
将c:\windows\system32下的dwmapi.dll改名,例如:改为dwmapi.dll.bak。
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!