永发信息网

C++ DLL异常处理

答案:2  悬赏:20  手机版
解决时间 2021-02-27 17:19
C++的程序
exe动态调用一个dll,dll中有
故意引发一个异常,比如:

int *i=NULL;
*i=5;//c0000005异常,读无效地址

请问如何在exe中捕获并处理这个异常后让exe继续正常执行而不退出?
谢谢

不行啊,根本不执行catch
最佳答案
try
catch
end try
全部回答
1.__stdcall 以“?”标识函数名的开始,后跟函数名; 函数名后面以“@@yg”标识参数表的开始,后跟参数表; 参数表以代号表示: x--void , d--char, e--unsigned char, f--short, h--int, i--unsigned int, j--long, k--unsigned long, m--float, n--double, _n--bool, .... pa--表示指针,后面的代号表明指针类型,如果相同类型的指针连续出现,以“0”代替,一个“0”代表一次重复; 参数表的第一项为该函数的返回值类型,其后依次为参数的数据类型,指针标识在其所指数据类型前; 参数表后以“@z”标识整个名字的结束,如果该函数无参数,则以“z”标识结束。 其格式为“?functionname@@yg*****@z”或“?functionname@@yg*xz”, 例如 int test1(char *var1,unsigned long)-----“?test1@@yghpadk@z” void test2() -----“?test2@@ygxxz” 2 __cdecl调用约定: 规则同上面的 _stdcall 调用约定,只是参数表的开始标识由上面的“@@yg”变为“@@ya”。 3 __fastcall调用约定: 规则同上面的_stdcall调用约定,只是参数表的开始标识由上面的“@@yg”变为“@@yi”。 vc++对函数的省缺声明是"__cedcl",将只能被c/c++调用。 这是c++编译时的函数改名规则,c++函数改名主要是为了函数重载,而在c中不存在函数重载的问题,可以看出c++编译后函数的新名字很复杂。 所以只能通过extern来声明c函数编译命名规则来调用dll中的导出函数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
o p p o手机双镜面是什么品牌
世界上石窟排名前四
吉林路/赤峰道(路口)怎么去啊,有知道地址的
钢琴学会基础乐理要多少节课?
有关细胞呼吸的说法错误的是A. 细胞呼吸一定
冰河期全球平均气温
上海优博电热水器怎么去啊,有知道地址的么
上海哪里有好的锦鲤卖?
耍笔顺是什么
放心小饭桌我想知道这个在什么地方
洗脸面扑什么材质的好
有视频教学的学习韩语的软件
施琅陶瓷我想知道这个在什么地方
常德市建设银行龙卡通储蓄卡贷款一万元要多久
打台球时怎么打高低杆啊 各有什么好处啊
推荐资讯
蓝山咖啡馆海盐店在什么地方啊,我要过去处理
车冒黑烟,没劲是什么问题
财富债券系列理财产品的特点
倍感心切是什么意思
同样的地方,为什么有的手机就搜不到wlan
生活,因为身边的小事发光
甲乙两车间的人数的比是7:4,现在两车间同时
铜山乡人民新兴商贸城这个地址在什么地方,我
【一棵树阅读我说的一棵树,不是指森林、小树
野山羊头怎么做最有营养
工作太苦太累太乏味,真的受不了,怎么办?
监理工程师考试通过率是多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?