gpt4 book ai didi

c - ENOSPC vs ENOMEM 什么时候使用?

转载 作者:行者123 更新时间:2023-12-03 08:09:00 27 4
gpt4 key购买 nike

Linux/Unix 定义了大量相对相似的错误代码。是否有任何普遍遵循的约定建议应将哪些类型的错误绑定(bind)到哪些错误代码?
假设我的函数有一些具有固定大小的任意容器(并且由于与实际 RAM 使用无关的任意原因无法调整大小)。如果代码试图将太多对象插入容器中,我应该返回 ENOMEM 还是 ENOSPC? ENOSPC 是否专门用于持久存储设备空间或类似的东西?

最佳答案

错误代码不是由程序返回,而是由函数返回。见 syscalls(2)errno(3)intro(3)
正确的程序以某种方式使用exit(3) (当 mainreturn 退出代码时由 crt0 代码隐式调用)但另见 signal(7)execve(2) .使用EXIT_SUCCESSEXIT_FAILURE , 但也要看看里面 /usr/include/sysexits.h另请阅读 Advanced Linux Programming man pages .
学习现有开源软件源代码 ,包括 GNU libc , GNU coreutils , GNU make .
对于内核模块,另见 kernel.org 中的代码和 kernelnewbies.org

关于c - ENOSPC vs ENOMEM 什么时候使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64416187/

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