Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中调用abort()时,如何指定消息?_C_Macos_Abort - Fatal编程技术网

在C中调用abort()时,如何指定消息?

在C中调用abort()时,如何指定消息?,c,macos,abort,C,Macos,Abort,我试图用一个非常旧的MacOS版本打开Minecraft。每次打开它都会显示Minecraft Launcher意外退出,并在底部显示一条自定义消息 异常类型:SIGABRT 异常代码:0x0000000000000x000000000000 例外说明:EXC_尸体通知 特定于应用程序的信息: 调用了abort() Minecraft至少需要MacOS 10.9,并尝试在10.8.5上运行 如何在代码中执行相同的操作?如果调用abort(),如何在“应用程序意外退出”窗口中指定显示在应用程序特

我试图用一个非常旧的MacOS版本打开Minecraft。每次打开它都会显示Minecraft Launcher意外退出,并在底部显示一条自定义消息

异常类型:SIGABRT
异常代码:0x0000000000000x000000000000
例外说明:EXC_尸体通知
特定于应用程序的信息:
调用了abort()
Minecraft至少需要MacOS 10.9,并尝试在10.8.5上运行

如何在代码中执行相同的操作?如果调用
abort()
,如何在“应用程序意外退出”窗口中指定显示在应用程序特定信息下的原因?

无法指定带有abort的错误消息(或任何消息)。中止功能仅结束程序(类似于退出功能)


打印到标准错误或在中止调用之前使用assert语句将是实现此功能的好方法。

您不能使用
abort()
函数调用指定任何消息。请参阅ANSIC标准定义和函数中止说明。您将得到答案。
在调用
abort()
之前,编写要
stdout
stderr
的任何字符串消息

#include <stdlib.h>
void abort(void);
#包括
无效中止(void);
中止
功能导致程序异常终止 发生,除非信号被捕获且信号 处理程序不返回。是否使用未写入的缓冲区打开流 刷新数据、关闭打开的流或删除临时文件 已删除已定义的实现。定义的实现 未成功终止状态的表格返回给 通过函数调用raise(SIGABRT)承载环境。 中止函数不会返回到其调用者


@你确定吗?Minecraft Launcher做到了,Idk启动器是用什么编写的,但如果我能用任何编写启动器的语言来编写,我可能可以用C来编写。这不是标准C中的
abort()
功能的一部分。“异常注释”似乎是MacOS特有的东西(可能是特定的语言),所以你应该相应地标记。@machine_1不,我只是用Minecraft作为一个应用程序的例子,它做了一些我想知道如何做的事情。看起来很相关,但说它是没有文件的。我不知道为什么这么多人说另一个程序已经在做的事情是不可能的。显然,这是可能的,因为另一个程序正在这样做!当然,这是特定于Mac的。它不能回答这个问题。很明显,Minecraft这样做是有可能的。例如,它可能涉及调用另一个函数。消息写在“abort()called”之后。请注意,这是一个特定于Mac的问题。不回答该问题。很明显,Minecraft这样做是有可能的。例如,它可能涉及调用另一个函数。消息写在“abort()called”之后。请注意,这是一个特定于Mac的问题。