- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Mac OS X 中做了一些干预(本质上是拦截 C 调用),我注意到 ping 应用程序试图调用 addrlen 值为 16 的 sendto 函数。在 sys/socket.h 中我可以清楚地看到sa_data 数组最多只能容纳 14 个字节:
/*
* [XSI] Structure used by kernel to store most addresses.
*/
struct sockaddr {
__uint8_t sa_len; /* total length */
sa_family_t sa_family; /* [XSI] address family */
char sa_data[14]; /* [XSI] addr value (actually larger) */
};
评论说“实际上更大”让我很吃惊,但我对此无能为力。
无论如何,手册页显示 sendto 函数的签名如下所示:
ssize_t
sendto(int socket,
const void *buffer,
size_t length,
int flags,
const struct sockaddr *dest_addr,
socklen_t dest_len);
然后,如果长度值太长而无法以原子方式传递消息,手册页会特别指出该怎么做。它忽略了 dest_len 大于 dest_addr.sa_data 可以容纳的情况。
如果我尝试将 16 字节的数据从调用方复制到另一个 dest_addr.sa_data 中,它会失败并且应用程序崩溃,这是应该的。我误解了这个字段的使用方式吗?为什么标题中的注释说“实际上更大”但随后为数组分配了固定大小?
最佳答案
您实际上永远不应该使用struct sockaddr
。它就像 void *
中的 void
,是实际 sockaddr_foo
结构的替代品。
关于c - struct sockaddr.sa_data 似乎太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22950130/
这是代码: from Tkinter import * def main(): w1 = Tk() w1["height"] = 400; w1["width"] = 500;
我想问一下 scrollView 中 imageView 的布局问题。但是,显示出来的图像非常非常小。即使是 1024 * 1024 px 图片也无法完全占据普通手机的整个屏幕宽度。 如何修改它使得对
我发现我的某个应用程序的启动器图标太小了。该设备是 samsung nexus galaxy,因此它应该使用 mdpi 文件夹中的可绘制对象。 我希望图标大小为 72 x 72 像素。其实这个图标看起
我一直想知道:ptrdiff_t 是否应该能够保存任意两个指针的差异定义?两个指针太远怎么会失败? (我不是指任何特定的语言...我指的是所有具有这种类型的语言。) (例如,当您有 32 位指针时,从
我有一个 QAbstractItemDelegate 并且在 paint 方法中,我试图从标签中绘制文本。但我看到的问题是 QLabel 的大小提示对于它包含的文本来说总是太小。我怎样才能解决这个问题
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的程序使用 wx.ProgressDialog对多个阶段的流程提供反馈。在每个阶段开始时,我使用 Update 的第二个参数来更改对话框中的消息。 问题在于对话框的宽度是根据构造函数中的消息确定的,
我有一个动态数据数组,其中包含 3 个用于构建饼图的整数。在大多数情况下,IE 运行良好:[5,10,3]。饼图渲染正确,您可以看到所有部分。 但是在某些情况下,数字可能相差很大。即 [1,500,2
我有一个长度为 28 的字符串,它代表基数 16 中的 1 个数字。 long num=strtol(str,NULL,16); 但它适用于小字符串而不是长字符串(它给了我一个否定的结果)。那么对于长
我正在编写一个 PhoneGap 应用程序并使用 Twitter 的 Bootstrap 进行响应式设计。 校园/帐户/部门的框是选择框。我认为很明显的问题是选择框很小,当我在 css 中尝试时无法更
我正在使用这段代码来显示 UIAlert,它将询问简单的输入 UIAlertController *alert = [UIAlertController alertControllerWithTitl
我有一个带复选框的 HTML 公式列表。所有复选框都有一个标签。 我正在使用 flexbox 设计这个公式。使用 flexbox 使其中一个复选框比其他所有复选框都小。原因似乎是该复选框的标签文本太长
我正在这里处理一些 javascript svg 图形,我发现我真的不能依赖 Firefox 上 window.innerHeight(或outerHeight)的值。我正在运行 Ubuntu 12.
单击左侧边栏中的图像 http://vaiman.org/我们的 YouTube 盒子太小了。我需要扩大 YouTube 区域。怎么办? 这是我的 JavaScript 代码 ( http://vai
我有一个视频 View 来流式传输视频,它工作正常但视频的大小太小,我尝试在 API 演示中进行流式传输并且同一视频的大小是正常的。我做错了什么?这是一些代码: main.xml:
我发现 Android Studio (v1.0.1) 布局“设计” View 太小而无用 - 我几乎看不到一些元素。 “缩放”按钮仅显示布局的一小部分。有没有办法分离 View 以便我可以放大它?
嘿,我正在使用 HTML 标签,当我在 Safari 中打开页面时,视频播放器非常小。 如果我启用全屏然后返回,它会正确聚焦。 我不确定是什么原因导致它最初加载不正确。 HTML代码:
我在 UIPopoverController 中显示了一个 UIPickerView。 UIPickerView 的尺寸为:320x216。出于某种原因,UIPickerView 似乎是正常高度的 3
当我给 matplotlib 一个注释字符串时,例如 '$\frac{A}{B} = C$' 我指定字体大小为 18,A 和 B 以 12.6 pt 呈现,而 C 以 18 pt 呈现。我希望 A、B
我有一个条形图,不知何故,整个 svg 容器只是矩形以及落在矩形所在区域的所有内容,因此 y 轴刻度被留在容器之外。我怎样才能解决这个问题,以便顶部的文本和 y 轴刻度(图像)不会留在外面。 我的代码
我是一名优秀的程序员,十分优秀!