首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Qt结构/字符串中解压PHP中的bool

如何从Qt结构/字符串中解压PHP中的bool
EN

Stack Overflow用户
提问于 2015-04-15 13:23:20
回答 1查看 174关注 0票数 1

我必须在PHP中解压一个结构,其中写入fifo。struct是由Qt应用程序创建的,如下所示:

代码语言:javascript
复制
    typedef struct {
       float32_t fNumberOne;
       uint16_t uIntOne; //maybe padding for alignment?
       bool_t myOneBitBool;
       float32_t fNumberTwo;
    } mystruct;

现在,对结构进行序列化,将其写入fifo /命名管道中,这样“PHP”就可以读取fifo并解压()结构。如果你读fifo,你会得到一个字符串。这个字符串可以通过substr()获得(在本例中)第一个浮动fNumberOne的4字节。如果您得到您的子字符串,您可以用"f“之类的参数来解压()。这对我来说很好。

但是,正如你可以看到的,这里有1 32位浮点数,1 16位int,我们的1 bool只需要1位,另一个32位浮点数。

所以我的问题是,如果我得到了我的第一个浮点数和第一个16位int (字节1-4和5-6),我如何从这个结构字符串中得到我的bool位(位置7?)?编译器如何处理bool和第二个浮点数(7和8的字节其余部分)之间的其他15位呢?下一个比特是第二个浮点数还是未使用的?或者有什么帮助让编译器知道他必须使用另一个32位容器吗?

或者更好的是,在二进制级别上,结构字符串是怎样的呢?

有关更多信息,编译器不在此设置中配置。这都是在斯坦特的设置。

事先非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-15 15:05:03

如果你使用的是C++11,alignas()可能就是你想要的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29651484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档