size_t 和 off_t 的用法有什么区别?

2024-02-08

除了每种类型可以容纳的值的大小之外,还有哪些主要区别usage之间size_t and off_t?这只是一个惯例吗size_t类型用于绝对大小和off_t类型用于偏移?还是比这更深入?

我正在编写一个包装类来启用使用写入大文件mmap我想知道他们的论点最适合使用什么类型。鉴于我想写入 > 4GB 的文件,我很想对所有内容使用 size_t,但这是最佳实践吗? (或者我应该使用一些off64_t某些功能的类型?)

例如,我应该writeAt函数声明为:

MMapWriter::writeAt(off64_t offset, const void* src, size_t size)

or

MMapWriter::writeAt(size_t offset, const void* src, size_t size)

size_t是针对对象的,off_t用于文件。

mmap几乎根据定义,合并了这两个概念。我个人认为我会使用size_t,因为无论它是什么,映射文件也是(虚拟)内存中的数组。

size_t是标准C++,off_t是 Posix,并且off64_t是一个 GNU 扩展,具有以下功能fopen64, ftello64等我think它应该始终与以下类型相同off_t在 64 位 GNU 系统上,但不要在没有检查的情况下把你的公司押在这一点上。

如果相关的话,off_t已签名,而size_t是未签名的。但签署的副本size_t is ptrdiff_t,所以当您需要签名类型时,它并不自动意味着您应该使用off_t or off64_t.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

size_t 和 off_t 的用法有什么区别? 的相关文章

  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • g++ 对于看似不相关的变量“警告:迭代...调用未定义的行为”

    考虑以下代码strange cpp include
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在

随机推荐

  • 命令行中的“@”是什么意思?

    将 放在某些内容 例如包含 Java 运行命令的类路径条目的文件的路径 之前有什么效果 我知道这与文件内容有关 但正如您可以想象的那样 尝试在 Google 上搜索它有点困难 我也找不到谈论它的联机帮助页 它在不同的程序中可能意味着不同的事
  • 匿名类型可以从另一个类型继承吗?

    根据 MSDN 文档StringComparer OrdinalIgnoreCase http msdn microsoft com en us library system stringcomparer ordinalignorecase
  • SketchUp 导出带有纹理的 obj - 如何

    Windows 7 64 位 SketchUp Make 13 0 4812 Goal 将 SketchUp skp 模型转换为 obj并使用 Three js 加载到 WebGL Problem sketchup 将模型导出到 obj具有
  • Django Celery 日志记录最佳实践

    我正在尝试让 Celery 日志记录与Django 我已经设置了日志记录settings py转到控制台 这工作正常 因为我正在托管Heroku 在每个模块的顶部 我有 import logging logger logging getLo
  • Angular4:无法读取未定义的属性

    我正在尝试使用他们在网站上提供的教程来学习 angular4 这是代码 hero ts export class Hero constructor public id number public name string 在组件 ts中 im
  • SQL 选择不同的前 2 个

    如果我有一个名为 Part 的表 其中包含列 PartID IDNumber Length 和数据 PartID IDNumber Length 1 Test1 50 2 Test1 60 3 Test2 50 4 Test3 70 如何仅
  • 在不同项目中生成POCO类到具有Entity Framework模型的项目

    我正在尝试使用 VS2010 的 EF4 存储库模式 为此 我通过右键单击实体模型设计器并单击添加代码生成项来使用 POCO 代码生成 然后我选择 POCO 模板并获取我的课程 我希望能够做的是将我的解决方案构建为实体 POCO 类的单独项
  • OS X:在不关闭进程的情况下生成核心转储?

    我知道如何在进程崩溃时在 OS X 上生成核心转储 但我真正需要做的是附加到进程 生成核心转储 然后恢复该进程 而不杀死它 很久以前 也许一年半前 我有 C 代码可以做到这一点 它使用 OS X 内核库连接到一个进程 读取其所有线程状态和内
  • 更改 OpenCV C++ 接口中 Mat 类实例的数据类型

    如何更改用于存储像素的数据类型Mat类实例 例如 使用以下行读取图像后 Mat I imread file 0 我获得了具有类型像素的灰度图像unsigned char 我想将其更改为double 进行转换的最佳方法是什么 我无法找到一个函
  • Spring boot - 多数据库访问(MYSQL)

    我已经花了很长时间来解决我的问题 但找不到适合我的问题的解决方案 我需要顺序访问不同的数据库 我尝试更改数据库的链接 如下面的代码所示 public static void changeDB String dbname throws IOE
  • 用户名和密码可以通过 URL 参数通过 HTTPS 安全发送吗?

    昨天 我和一位同事就通过 URL 参数发送登录凭据作为身份验证手段是否安全进行了激烈的争论 他正确地指出 HTTPS 在向服务器端发送请求之前会加密 URL 中的所有非主机名 端口字符 然而 我仍然认为这里存在一些边缘情况 可以窃取这些凭据
  • 已弃用 GCC 标头搜索路径

    我发现了一个不寻常的 C makefile 设置 它依赖于 GCC 的一个已弃用的功能 该功能似乎没有现代替代品 该系统需要在包含本地头文件之前对其进行预处理或 烹饪 makefile 会处理这个问题 并将煮熟的版本放在本地 prepare
  • hapi fhir 弹性搜索如何配置

    我正在使用 hapi fhir v5 1 0 和 jpa 服务器 hapi fhir jpa server starter 根据描述 该版本包含用于文本搜索的弹性搜索库 我如何在这里配置弹性服务器 我看到一些条目properties文件并配
  • 让形状始终位于首页

    我正在为 Word 开发 VSTO 应用程序加载项 希望使形状始终位于首页的固定位置 有没有办法在不主动监视形状状态的情况下做到这一点 也欢迎回答 这是不可能完成的 并解释清楚原因 如果您将形状放入页眉并选中 DifferentFirstP
  • Joomla 的 ASP.NET 版本 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Task.Run(Action, CancellationToken) 何时抛出 TaskCanceledException?

    根据文档 http msdn microsoft com en us library hh160373 v vs 110 aspx Task Run Action CancellationToken throws TaskCanceledE
  • 更新 iOS 徽章而不推送通知

    我见过一些待办事项应用程序在午夜更新其应用程序徽章 始终显示正确的到期任务数量 他们这样做without使用推送通知 所以我的问题是 他们是如何做到这一点的 他们是否使用本地通知 如果是 当设备关闭时这些通知会被调用吗 我有点困惑 希望得到
  • Django:按元组的第一个值排序

    我有一个 7 元组 POSSIBILITIES 1 Something 2 Something else 现在我有一个IntegerField with choices在具有上面列出的可能性的模型中 class Something mode
  • 在 Spark Java 中将文本文件转换为序列格式

    在 Spark Java 中 如何将文本文件转换为序列文件 以下是我的代码 SparkConf sparkConf new SparkConf setAppName txt2seq sparkConf setMaster local set
  • size_t 和 off_t 的用法有什么区别?

    除了每种类型可以容纳的值的大小之外 还有哪些主要区别usage之间size t and off t 这只是一个惯例吗size t类型用于绝对大小和off t类型用于偏移 还是比这更深入 我正在编写一个包装类来启用使用写入大文件mmap我想知