问题标签 [packing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2320 浏览

gcc - 从内核模块中的结构中删除填充

我正在使用标准命令编译一个包含大小为 34 的结构的内核模块。

sizeof(some_structure)以 36 而不是 34的形式出现,即编译器正在填充结构。

如何删除此填充?

运行make V=1显示传递为的 gcc 编译器选项

0 投票
7 回答
6635 浏览

c++ - C++ 打包一个 typedef 枚举

当我尝试使用 C++ 编译器编译它时,我遇到了错误,但它似乎可以在 C 编译器中正常工作。所以这就是问题所在。是否可以在 C++ 中打包枚举,或者有人可以看到为什么我会收到错误消息?

错误是:

“在宣布比荷卢经济联盟后缺少分号”。

我知道,在检查和重新检查之后,那里肯定有一个分号,并且在其余代码所需的任何地方。

附录:

_PACKAGE_只是一个例子。我正在重命名它。

_ASSOCIATIONS_不是比荷卢经济联盟的一种:

#define _ASSOCIATIONS_ __attribute__((packed))

代码是 iffed,但只是为了确保它是 GNU C/C++。

这会导致问题吗?我认为(GNUC)适用于 C 和 C++

附录 2:

我什至试过

没有喜悦。任何人?

注意: -fshort-enums 是不可能的;寻找程序化解决方案。

0 投票
1 回答
1081 浏览

javascript - 来自 Facebook 应用程序的混淆 Javascript 代码?

这是复制并粘贴到我的地址栏中的代码:

我通过http://jsbeautifier.org/运行它,但它没有清理处理“新 RegExp”的后面部分......有人知道这段代码的作用以及如何弄清楚吗?

0 投票
5 回答
37264 浏览

java - Java 将 4 个字节转换为 int

我想知道这里记录的解决方案是否仍然是解决方案,或者有没有其他方法从 4 个字节中获取一个 int?

谢谢你。

编辑:我从套接字 .read 获取字节 []

编辑:int recvMsgSize = in.read(Data, 0, BufferSize);如果recvMsgSize 为-1,我知道连接已断开。

当我使用 DataInputStream 而不是 InputStream 时如何检测到这一点?

谢谢。

编辑:对于接受正确答案的悠悠球表示歉意。但是在 mihi 更新最终响应之后,该方法似乎是可靠的,并且减少了扩展编码,并且在我看来是最佳实践。

0 投票
4 回答
5678 浏览

algorithm - 以最佳方式将矩形组合在一起

我想知道是否有人知道任何适合将 N 个未知大小的矩形组合成尽可能小的包含矩形的算法。

最佳我的意思是减少生成的包含矩形中剩余的空白量。

我想用它从一系列图像中生成 css 精灵。

非常感谢,

伊恩

0 投票
1 回答
103 浏览

image - 压缩/打包

我有一个问题:给定一个包含 0 或 1 的数组 nxm,我需要将 0 值分组为矩形。一开始,我用的是一个简单的四叉树,但是树的同一层的不同节点具有相同的值。我不完全确定 R-tree 是否适用于我的问题或其他数据结构,因为我只会在预计算步骤中使用此结构,仅此而已。

ps:我正在处理 2D 图像

0 投票
3 回答
766 浏览

python - Python中的二进制16

struct当您尝试将数据转换为二进制格式时,该模块很有用。但是,最近我遇到了一个使用binary16 浮点格式的文件格式规范。我查看了 Python 文档,但找不到任何可以与之相互转换的东西。将此数据转换为 Python 浮点数/从 Python 浮点数转换的最佳方法是什么?

0 投票
1 回答
1882 浏览

java - Java 打包问题

好的,所以我决定在 Java 中处理我的测试文件。我决定从我的家用 PC 中提取文件夹并将其带到我的工作 PC 上。问题?当我编译时——我得到:

这是有趣的。我没有动过我的文件,它在我的家用电脑上运行良好,现在我明白了。文件设置得很好。我的 com.google.gson 在包含 Google JSON Java 文件的文件夹中,并且我的 googleRead.java 文件在正确的目录中......而且我的 map1.txt 也在那里......奇怪吗?我认同。

这是我的文件:

0 投票
2 回答
743 浏览

algorithm - 组合独立集/汉明距离的算法/近似

输入:图 G 输出:几个独立的集合,这样一个节点对所有独立集合的成员资格是唯一的。因此,一个节点与它自己集合中的任何节点都没有连接。这是一个示例路径。

由于这里需要进行澄清,因此需要重新改写:

将给定的图划分为集合,使得

  1. 我可以通过集合中的成员身份将节点与所有其他节点区分开来,例如,如果节点 i 仅存在于集合 A 中,则其他节点不应仅存在于集合 A 中

    如果节点 j 存在于集合 A 和 B 中,则其他节点不应仅存在于集合 A 和 B 中。如果节点的成员资格由位模式编码,那么这些位模式的汉明距离至少为 1

  2. 如果两个节点在图中相邻,它们不应该出现在同一个集合中,因此是一个独立的集合

示例:B 没有相邻节点 D=>A, A=>D

解决方案:

  1. 乙/
  2. / BD

A 的位模式为 10,并且在其集合中没有相邻节点。B 具有位模式 11 且没有相邻节点,D 具有 01 因此所有节点的汉明距离至少为 1 且没有相邻节点 => 正确

错了,因为 D 和 A 是相连的:

  1. 亚行
  2. / D B

A 在其集合中有位模式 10 和 D,它们是相邻的。B 有 11 位模式且没有相邻节点,D 有 11 和 B 一样,所以这个解决方案有两个错误,因此它不被接受。

当然,随着图中节点数量的增加,这应该扩展到更多的集合,因为您至少需要log(n)集合。

我已经写了一个到 MAX-SAT 的转换,为此使用 sat-solver。但是子句的数量太大了。更直接的方法会很好。到目前为止,我有一个近似值,但我想要一个精确的解决方案或至少一个更好的近似值。

我尝试了一种方法,我使用粒子群将任意解决方案优化为更好的解决方案。然而,运行时间非常糟糕,结果远非很好。我正在寻找动态算法或其他东西,但是我无法理解如何分而治之。

0 投票
3 回答
1498 浏览

c++ - 为什么在启用 4 字节打包的 C++ 中编译时,由 char、short 和 char(按此顺序)组成的结构会变成 6 字节结构?

我以为我了解 C/C++ 如何处理结构成员对齐。但是对于 Visual Studio 2008 和 2010 中的特定安排,我得到了奇怪的结果。

具体来说,我发现由 char、short 和 char 组成的结构被编译为 6 字节结构,即使启用了 4 或 8 字节打包也是如此。我不知道为什么会这样。我可以理解一个 4 字节的结构。我也许可以理解一个 8 字节的结构。但是我认为当启用 4 字节打包时,6 字节结构是不可能的。

演示该问题的程序是:

输出是:

谁能解释为什么 VC 用一个额外的字节填充每个字符?