- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
mmap64()函数调用如下:
addr = (unsigned char*) mmap64(NULL, regionSize, PROT_READ|PROT_WRITE, MAP_SHARED, FileDesc, (unsigned long long)regionAddr);
参数通常具有如下值:
regionSize = 0x20000;
FileDesc = 27;
regionAddr = 0x332C0000;
显然在代码中这些值并不是那样硬编码的,但我只想向您展示它们的典型值是什么。
问题:
mmap64() 调用在 Red Hat Linux 6.6 中完美运行,内核版本:2.6.32-504.16.2.el6.x86_64。它在 Red Hat Linux 7.2 中失败,内核版本:3.10.0-327.13.1.el7.x86_64。
据我所知,代码没有区别。
返回的 errno 是“无效参数”或 errno #22 (EINVAL)。查看此引用 http://linux.die.net/man/3/mmap64 ,我看到 EINVAL 错误的 3 种可能性:
所以我现在卡住了。不确定如何调试。这个问题是 100% 可重现的。任何人都知道两个操作系统版本之间可能发生什么变化导致这种情况的提示?
最佳答案
将评论转为答案(将一些评论剪裁为不相关)。
如果您正在构建 64 位可执行文件,为什么不简单地使用不带后缀的 mmap()
?这对您的问题有什么影响吗?
但是,我认为您的问题是所谓的regionAddr
。 mmap64()
的最后一个参数在概要中称为 offset
,并且:
offset must be a multiple of the page size as returned by
sysconf(_SC_PAGE_SIZE)
.
regionAddr
的值是页面大小的倍数吗?在我看来,十六进制中的尾随零太少(它是 512 的倍数,但不是 4K 或更大的倍数)。
请注意,该问题最初显示的 regionAddr
值不同——另请参阅下面的评论。
regionAddr = 0x858521600;
and
addr = (unsigned char*) mmap64(NULL, regionSize, PROT_READ|PROT_WRITE, MAP_SHARED, FileDesc, (unsigned long long)regionAddr);
根据修改后的信息(regionAddr
中的值是 0x332C0000
或十进制 828521600),不太明显出了什么问题。
关于c - mmap64() 适用于 Red Hat 6.6 但不适用于 Red Hat 7.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468671/
在我输入的 javascript 控制台中/(red|green)/g.exec('红绿红绿') 它返回一个包含两个结果的数组:[“红色”,“红色”] 它不应该返回一个包含 4 个结果的数组吗?如:[
所以我目前正在将一个下降大小的程序从 Rebol 3 迁移到 Red。所述程序依赖于与 C 库 (clang) 的大型绑定(bind)。我已经重写了 Red/System 中的绑定(bind)部分,并
是否可以在节点集群上水平扩展 Node-RED? 找不到任何文档。我的场景是每秒处理数百万个事件并使用 Node-RED 实时处理它们。 最佳答案 我在 Google Groups Node-RED
因此,在尝试在 Red 和 Red/System 之间来回编码值时出现了问题。我想访问传递给例程的对象的内脏。 我注意到 Red Runtime 中有一些函数可以在对象上下文中处理诸如此类、get-v
假设我正在使用 MQTT 协议(protocol)从许多设备接收信息,下图是一个设备 block 的简化版本: 因此,我们还假设所有其他设备具有完全相同的图表,除了将更改为 device2 的主题名称
想象一下我已经连接了一个流程,如下所示: 现在希望重新连接到: 看来我的选择是删除现有的电线,然后重新连接它们。我的问题是: 问题 是否可以将连线从一个节点移动到另一个节点,而不是删除和重新创建? 最
有没有办法将现有的 Node-RED 流文件 myflow.json 部署到运行 Node-RED 的远程计算机? 经过多次谷歌搜索,我偶然发现了this discussion在相关的Google群组
我想了解下例中WPF是如何将字符串值(Red)转换成对应的SolidColorBrush的? 我们如何对自定义 DependencyProperty 做同样的事情? 最佳答案 从字符串到 Brush
我想了解下例中WPF是如何将字符串值(Red)转换成对应的SolidColorBrush的? 我们如何对自定义 DependencyProperty 做同样的事情? 最佳答案 从字符串到 Brush
我想合并来自 3 个不同来源的数据(来自 HTTP msg.payload)。 但是,这些 HTTP 请求可能会被多次调用,因此可以多次接收来自同一源的数据。 [{"id":"7ed13b41.131
我需要 Accel 对象作为有效负载对象的一部分: msg.payload.Accel.x : 1 msg.payload.Accel.y : 2 msg.payload.Accel.z : 3 如何
我正在尝试在 Node-RED 中执行简单的 http get 请求。根据在线文档,我必须传递函数中的参数作为 http 请求节点的输入。我的函数如下所示; msg.url = "https://ap
我有一个简单的 php 页面,它输出一个表(已动态创建)。 页面上的文本都是红色标记的,除非你专门放置一个font color元素并强制它变成黑色。 我使用的是 FF 并安装了 Firebug,所以我
setXxx(Color.red) 和 setXxx(Color.RED) 的定义之间的真正区别是什么? 我在网上找到了以下解释。都是关于命名约定的吗? Java originally defined
我正在使用具有以下内容的 Dockerfile,我在树莓派上使用 resin.io 进行部署。 FROM nodered/node-red-docker:rpi-v8 USER root RUN su
这个问题已经有答案了: Difference between Color.red and Color.RED (3 个回答) 已关闭 9 年前。 Color.RED 之间有什么区别吗?变量和 Colo
我可能是盲人,但我找不到我在许多节点实现中看到的功能的文档,因为有: RED.nodes.createNode() RED.nodes.getNode() RED.nodes.eachNode() R
$('#toggle-linecolor').click(function () { chart.yAxis[0].update({ lineColor: li
我用了this GitHub 存储库,用于使用 Electron 创建 Node-Red 桌面应用程序。 现在我想使用 node-red-admin 向这个应用程序添加身份验证。我怎样才能做到这一点?
两种方法都有效吗?两者都一样。 border:2px solid red; 和 border:2px red solid; 最佳答案 W3.org (官方规范)说 border 简写属性的值是这样的:
我是一名优秀的程序员,十分优秀!