这是代码: 通用标签

尽管有一个锁定机制,但是在这种情况下,该函数不是并发调用的,所以我认为这不是问题。但是,该程序会收到一个SIGABRT 通用标签

我没有头绪。ctime返回一个空字符串,手册页没有提到这种情况。再想一想,我不明白为什么它会返回一个空字符串,以及该代码出了什么问题。

感谢您的帮助。

有帮助吗?

解决方案

ctime没有返回空字符串。它根本还没有返回,因为它在尝试执行操作时崩溃了。

崩溃发生在free()内部,因此您可能在调用ctime()之前的某个时候破坏了内存。如果您在受支持的平台上运行,请尝试使用Valgrind之类的工具来检查您的内存访问。

其他提示

由于崩溃是在ctime()内部发生的,并且您传递的指针是有效的,因此问题很可能是您已经在内存中被践踏了(堆栈跟踪中有free()),而该问题仅在表面出现了本身在这里。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top