首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WIN32 上的 struct __stat64 和 struct _stati64 有什么区别?

在Windows 32位系统上,struct __stat64struct _stati64都是用于存储文件状态信息的结构体。它们之间的主要区别在于处理大文件时所需的64位文件长度。

  1. struct __stat64

struct __stat64结构体包含了一个64位的文件长度字段,因此它可以处理最大2^63-1字节的文件。这个结构体在Windows上主要用于处理大文件,例如超过2GB的文件。

代码语言:c
复制
struct __stat64 {
    _dev_t st_dev;
    _ino_t st_ino;
    unsigned short st_mode;
    short st_nlink;
    short st_uid;
    short st_gid;
    _dev_t st_rdev;
    __int64 st_size;
    __time64_t st_atime;
    __time64_t st_mtime;
    __time64_t st_ctime;
};
  1. struct _stati64

struct _stati64结构体也包含了一个64位的文件长度字段,因此它也可以处理最大2^63-1字节的文件。与struct __stat64相比,struct _stati64结构体主要用于处理UNIX风格的文件系统。

代码语言:c
复制
struct _stati64 {
    _dev_t st_dev;
    _ino_t st_ino;
    unsigned short st_mode;
    short st_nlink;
    short st_uid;
    short st_gid;
    _dev_t st_rdev;
    __int64 st_size;
    time_t st_atime;
    time_t st_mtime;
    time_t st_ctime;
};

总结:struct __stat64struct _stati64都是用于处理大文件的结构体,它们的主要区别在于处理UNIX风格文件系统的差异。在实际编程中,根据需要选择合适的结构体即可。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【DB笔试面试258】在Oracle中,执行计划里accessfilter什么区别)?

    题目如下所示: 在Oracle中,执行计划里accessfilter什么区别?...MGR" IS NOT NULL) 一般而言,access表示这个谓词条件值将会影响数据访问路径(表还是索引);filter表示谓词条件值不会影响数据访问路劲,只起到过滤作用。...但是一旦重复匹配较少,循环次数多,那么,filter操作将是严重影响性能操作,可能会导致目标SQL几天都执行不完。...操作只有一个子节点ID2,在这种情况下filter操作也就是单纯过滤操作。...(二)多子节点: filter多子节点往往就是性能杀手,主要出现在子查询无法UNNEST查询转换,经常遇到情况就是NOT IN子查询、子查询OR连用、复杂子查询等情况。

    1.3K20

    cmake:find_package查找pthread for win32实现脚本

    官方也没有提供,所以如果在cmake中要查找pthread for win32库,就得自己实现,我参照FindJPEG.cmake自己写了个查找脚本FindPTHREADW32。...cmake官方提供FindJPEG.cmake非常简单,只输出了include文件夹位置JPEG库文件(JPEG_INCLUDE_DIRJPEG_LIBRARIES),在写FindPTHREADW32...时,为了更方便引用库,在输出PTHREADW32_INCLUDE_DIRPTHREADW32_LIBRARY变量基础,还提供了imported target:pthreadw32, 了imported...) return() endif() # 检查编译器是否支持pthread如果支持就返回, # POSIX版本MinGW原生支持pthread,不需要额外pthread for win32库 include...("struct timespec" tv_sec time.h HAVE_STRUCT_TIMESPEC LANGUAGE C ) if(HAVE_STRUCT_TIMESPEC) set_target_properties

    94010

    Linux 系统调用

    这些接口在应用程序内核之间扮演了使者角色,应用程序发出各种请求,而内核负责满足这些请求(或者无法满足时返回一个错误)。实际提供这些接口主要是为了保证系统稳定可靠,避免应用程序恣意妄行。...与内核通信 系统调用在用户空间进程硬件设备之间添加了一个中间层。该层主要作用三个。 首先,它为用户空间提供了一种硬件抽象接口。...作为硬件设备应用程序之间中间人,内核可以基于权限、用户类型其他一些规则对需要进行访问进行裁决。...在 Linux 中,系统调用是用户空间访问内核唯一手段﹔除异常陷入外,它们是内核唯一合法入口。实际,其他像设备文件/proc之类方式,最终也还是要通过系统调用进行访问。...函数返回 long,为了保证 32 位 64 位系统兼容,系统调用在用户空间内核空间不同返回值类型,在用户空间为 int,在内核空间为 long。

    9.8K20

    几种服务器端IO模型简单介绍及实现(

    一些概念: 同步异步 同步异步是针对应用程序内核交互而言,同步指的是用户进程触发I/O操作并等待或者轮询去查看I/O操作是否就绪,而异步是指用户进程触发I/O操作以后便开始做自己事情,而当...阻塞非阻塞 阻塞非阻塞是针对于进程在访问数据时候,根据I/O操作就绪状态来采取不同方式,说白了是一种读取或者写入操作函数实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值...在多线程基础,可以考虑使用“线程池”或“连接池”,“线程池”旨在减少创建和销毁线程频率,其维持一定合理数量线程,并让空闲线程重新承担新执行任务。...4、多路复用IO 支持I/O复用系统调用select、poll、epoll、kqueue等, 这里以Select函数为例,select函数用于探测多个文件句柄状态变化,以下为一个使用了使用了Select...遗憾是不同操作系统特供 epoll 接口很大差异,所以使用类似于 epoll 接口实现具有较好跨平台能力服务器会比较困难。

    89670

    几种服务器端IO模型简单介绍及实现(

    一些概念: 同步异步 同步异步是针对应用程序内核交互而言,同步指的是用户进程触发I/O操作并等待或者轮询去查看I/O操作是否就绪,而异步是指用户进程触发I/O操作以后便开始做自己事情,而当...阻塞非阻塞 阻塞非阻塞是针对于进程在访问数据时候,根据I/O操作就绪状态来采取不同方式,说白了是一种读取或者写入操作函数实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值...在多线程基础,可以考虑使用“线程池”或“连接池”,“线程池”旨在减少创建和销毁线程频率,其维持一定合理数量线程,并让空闲线程重新承担新执行任务。...4、多路复用IO 支持I/O复用系统调用select、poll、epoll、kqueue等, 这里以Select函数为例,select函数用于探测多个文件句柄状态变化,以下为一个使用了使用了Select...遗憾是不同操作系统特供 epoll 接口很大差异,所以使用类似于 epoll 接口实现具有较好跨平台能力服务器会比较困难。

    1K80

    Win32C# 应用不依赖任何库使用纯 GDI+ 对窗口截图(BitBlt)

    在 Windows 上有 GDI+ 来操作位图,不止能完成很多位图操作,还提供了与 Win32 窗口互操作,可以截到 Win32 窗口图片。 如果你希望对窗口截图,那么可使用本文提供方法。...Win32 互操作需要用到数据结构,所以本文代码中只会列出库中暂时没有的(不然代码太多了)。...var hBitmap = Gdi32.CreateCompatibleBitmap(wdc, width, height); // 关联兼容位图兼容内存,不这么做,下面的像素位块(bit_block...) where T : struct { int size = Marshal.SizeOf(@struct); byte[] data = new byte[size]; IntPtr...更多截窗口方法 Win32/C# 应用使用 GDI+ 对窗口截图(BitBlt) - walterlv (本文)Win32/C# 应用不依赖任何库使用纯 GDI+ 对窗口截图(BitBlt) - walterlv

    62520

    Internet Explorer漏洞分析(三)——VBScript Scripting Engine初探

    Internet Explorer漏洞分析(三)[]——VBScript Scripting Engine初探 1.本文一共1514个字 28张图 预计阅读时间10分钟2.本文作者erfze 属于Gcow...安全团队复眼小组 未经过许可禁止转载3.本篇文章是文章Internet Explorer漏洞分析(三)[下]——CVE-2014-6332前置知识,对vbscrip.dll组件进行逆向分析,以及VBScript...数据类型,数组,VarType函数,LenB函数详细分析,并介绍VBS脚本调试技巧4.本篇文章十分适合漏洞安全研究人员进行交流学习5.若文章中存在说得不清楚或者错误地方 欢迎师傅到公众号后台留言中指出...其结构定义如下: typedef struct tagVARIANT { union { struct { VARTYPE vt; WORD wReserved1;...图6 传递给函数参数二——cDims对应维数,VAR对应n。cDims应介于1-64: ? 图7 先来看一维数组创建: ? 图8 为rgsabound结构各字段赋值: ?

    89810
    领券