- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我遇到了以下代码,并被告知这意味着 COL_8888_RED
是“字节序独立的”。为什么?是什么让这个端独立?(我问过最初的编码员,但他们没有回复我……哎呀,也许他们也不知道。)
union _colours {
uint8 c[3][4];
uint32 alignment;
};
static const union _colours col_8888 = {
{ /* B G R A in memory */
{ 0x00, 0x00, 0xFF, 0xFF, }, /* red */
{ 0x00, 0xFF, 0x00, 0xFF, }, /* green */
{ 0xFF, 0x00, 0x00, 0xFF, }, /* blue */
}
};
#define COL_8888_RED *((uint32 *)&col_8888.c[0])
最佳答案
从某种意义上说,具有不同字节顺序的平台会给您通过 COL_8888_RED
看到的不同值,此代码不是“字节序无关的”。换句话说,按照对端序依赖性的传统理解,这段代码永远是端序相关的。
另一个问题是应该在哪里使用 COL_8888_RED
。也许它打算传递给某些 API,它本身以与 API 的字节序依赖性抵消 COL_8888_RED
的字节序依赖性相同的方式依赖于字节序。在那种情况下,一切都会“按预期”工作,即独立于字节序。 (例如,如果 API 以 uint32
形式接收颜色值,然后使用相同的 union 将其分成 ARGB 组件,则无论字节顺序如何,它都将获得正确的原始 ARGB 值。)
但是,说 COL_8888_RED
的值本身是字节序无关的是完全错误的。
关于c++ - 是什么让这个代码 "endian independent"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3629205/
我对贝叶斯网络有一些误解。我的主要误解是独立和有条件的独立!! 如果例如我必须计算P(Burglary|Johncall) , 是吗P(Burglary|Johncalls)=P(Burglary)因
在以下代码中,set 方法更改 Calendar 类的字段值。字段YEAR 被声明为static int YEAR。那么为什么通过创建 Calendar 类的两个对象,一个对象的更改会反射(refle
假设我已经掌握了这两个事实:- CreateProcess() 启动一个进程并让您的程序在它运行时继续运行,但是当您的程序完成时,子进程会随之关闭。此外,您的程序必须注意子进程何时退出,以便它可以正确
是否可以定义一个正则表达式模式来检查例如。对于 3 个独立于它们在主字符串中位置的术语? 例如。我的字符串类似于 "click here to unsubscribe: http://www.url.
我有一系列计算一些统计数据的“命令”(实际上是调用 bash shell 函数)。一般来说,每个命令都与所有其他命令无关,有时有些命令可能会花费比预期更多的时间。 到目前为止,我有一个调用这些命令的
我一直在空闲时间尝试伪造 C,并且遇到了一些我觉得很有趣的行为。我希望有人能帮助回答我提出的一些问题。为了简单起见,让我们将讨论限制在使用 gcc 进行编译。首先是代码(.h文件都有include g
我遇到了以下代码,并被告知这意味着 COL_8888_RED 是“字节序独立的”。为什么?是什么让这个端独立?(我问过最初的编码员,但他们没有回复我……哎呀,也许他们也不知道。) union _col
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
我决定模拟一个教科书上的概率题: Three fair dice are rolled independently, what is the probability that one dice sho
我想尝试有关分布式文件同步/复制的想法。为了在用户工作时提高效率,我想实现某种守护程序来监视某些目录中的更改(例如/home/user/dirToBeMonitored 或 c:\docs 和 set
当我在Mac机器上的R(仅是默认的Mac R)中看到帮助页面时, > ?read.csv 它以漂亮的格式显示在新窗口中。 现在,我在Mac机器上使用Sublime文本3表示R(带有SublimeREP
我觉得这是 ui-router 的一个直接用例,但也许我错过了一些东西...... 我想要两个相邻的独立 View ,由它们自己的菜单控制。当我单击一个菜单上的 ui-sref 链接(或 $state
也许我在这里问了一个非常明显且愚蠢的问题,但我在 Google 上找不到任何信息,所以我开始: 为什么人们如此热衷于 Java 是平台无关的,而其他一些语言却不是。我的意思是,就我的理解而言,总的差异
FORTRAN 编程用户注释,第 1-2 章 ( Comparison of FORTRAN and C ),说: Fortran 90 supports useful features of C (
前段时间我对 BEM 方法产生了兴趣,并尝试在我的元素中使用它。我可能使用了它的一些修改版本,所以我的 css 看起来像这样: .block block .block__element 用于元素 .b
我想在数据库中创建一个没有特定大小的文本字段(在某些情况下它将存储长度未知的文本)——特定文本是序列化的简单对象(~ JSON) 最独立于数据库的方法是什么:- 没有指定大小的 varchar(不
WPF 文档和教程指出 WPF 与分辨率无关,据我所知,它会在不同分辨率(1600x1200 -> native 和 1024x768)和/或 DPI 设置下显示相同大小的窗口。但是,当我尝试示例应用
我是 Cygwin 的初学者。如果我有: cat output.txt | rm output.txt 我想在删除文件之前打印出结果,但是即使这些命令在单独输入到 Cygwin 时工作 find 也不
考虑以下 gilab-ci.yml 脚本: stages: - build_for_ui_automation - independent_job variables: LC_ALL: "
我在 Nhibernate 3.1 中有一个 JoinQueryOver 的 QueryOver Person类有一个Identity类的关联(一对一)Code 是 Person 类的字段,First
我是一名优秀的程序员,十分优秀!