gpt4 book ai didi

c# - 在 C# 中从 C 库中捕获 exit(#)

转载 作者:太空宇宙 更新时间:2023-11-04 02:19:04 24 4
gpt4 key购买 nike

我正在使用 C# 使用以下语法使用 C 库:


[DllImport("clib.so")
static extern int func(char* foo);

我想知道是否有任何方法可以捕获 C 代码中发生的退出 (#),以便在发生严重错误时我可以重新加载库。

谢谢!

最佳答案

我相信 exit() 将终止进程而无需重新输入托管代码。可能您可以注册一个函数,以便在发生这种情况时通过 P/Invoke 预先调用 atexit() 来通知您。但是如果你从这里返回,这个过程仍然会退出。我想不返回将使流程处于不确定状态。您可能需要实现某种形式的进程隔离并观察垂死库的进程退出。

http://msdn.microsoft.com/en-us/library/6wdz5232.aspx

关于c# - 在 C# 中从 C 库中捕获 exit(#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3609560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com