12得票6回答
我的库应该处理坏指针输入的SIGSEGV吗?

我正在编写一个小型库,以FILE *指针作为输入。 如果我立即检查这个FILE *指针并发现它导致了一个段错误,是更正确的处理信号,设置errno并正常退出;还是不做任何处理,并使用调用者安装的信号处理程序,如果他有的话? 普遍认为“库不应该导致崩溃”。但我的想法是,由于这个特定的信号肯定...

12得票2回答
将errno.h错误值转换为Win32 GetLastError()等效值

我正在使用Dokan在POSIX文件系统和Windows之间编写一个层,需要将errno kind(EINVAL、ENOENT等)的错误值转换为调用GetLastError()时收到的Win32等效值(如ERROR_INVALID_PARAMETER)。需注意保留""和""及HTML标签。 ...

12得票2回答
我应该在Unix上使用system_category还是generic_category来处理errno?

C++0x有两个预定义的error_category对象:generic_category()和system_category()。据我目前了解,system_category()应该用于由操作系统返回的错误,而generic_category()应该用于在std::errc中找到的通用值,这...

12得票2回答
程序退出状态的约定

在Windows和GNU/Linux中,应用程序的传统返回值是什么。0表示成功。但如果用户请求终止,应该使用什么。当我在Windows上中止时,它返回3,但如果不是ERROR_PATH_NOT_FOUND,则此值不在系统错误代码列表中。GNU binutils使用1。从用户角度来看,返回Get...

12得票1回答
errno是否总是正数可以假定为安全的吗?

我正在编写一个程序,其中大部分使用的库函数在错误时返回-1并设置errno。程序的行为是如果发生错误,则退出。为了确定程序的确切退出点和错误(例如使用gdb的示例), 我想使用以下方法:err = func_1(..arglist_1..); if(err != 0) { perror...

12得票3回答
在Linux中,EINVAL、ENOMEM等错误码是在哪个头文件中定义的?

有人说像EINVAL、ENOMEM这样的错误编号在errno.h文件中被定义,但我在errno.h中找不到它们的定义。我还在/usr/include目录下搜索了一些文件夹,仍然找不到它们。尽管如此,在我的C代码中我仍然可以使用这些宏而没有任何问题。有人能告诉我它们在哪里吗?

11得票3回答
Python:zipfile.ZipFile没有这样的文件或目录。

这是文件夹路径:P:\\2018\\Archive\\ 我想要通过程序创建许多压缩文件,但现在只是先测试。我将命名这个测试压缩文件为"CO_007_II.zip",并尝试在上述位置创建:import zipfile as zp with zp.ZipFile("P:\\2018\\Archi...

11得票1回答
数值错误:使用<from PyQt5.QtWebEngineWidgets import QWebEnginePage>时,PyCapsule_GetPointer调用了不正确的名称。

这个问题我已经自己解决了,但我为其他人放置这个问题。 我认为我们尽可能解决这种问题是更好的选择, 在SOF中似乎没有这样的解决方案。 我更新了spyder。 conda update spyder Collecting package metadata: done Solving envi...

11得票5回答
C语言中fopen函数写文件失败,错误码为2。

我不理解为什么这似乎失败了,而且 errno 是 2:char debugText [256]; sprintf (debugText, "C:\\List.txt"); dfile = fopen( debugText, "w"); fprintf ( dfile, " err %d \n...

11得票2回答
SO_ERROR和errno的区别

在获取套接字系统调用(如 recv)错误时,哪种方式更好(在性能方面)? 使用老旧的 errno 或者作为 getsockopt() optname 使用 SO_ERROR ? 我认为 errno (在我的系统上定义为 __error())更快,因为它不是一个系统调用。我对吗? SO...