查看: 3186|回复: 18
打印 上一主题 下一主题

在KEIL编译的时候,检测一个结构体的大小

[复制链接]
跳转到指定楼层
沙发
发表于 2014-8-6 14:30:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用以下代码,经测试可以实现:

  1. #define JION(x, y) XJION(x, y)
  2. #define XJION(x, y) x ## y
  3. #define static_assert(e) typedef char JION(assertion_failed_at_line_, __LINE__) [(e) ? 1 : -1]

  4. void main(void)
  5. {
  6.     static_assert(sizeof(rst_appparams) == 256);
  7.     //.....
  8. }
复制代码



结构体不是256的话,会编译错误:
..\System\appparams.c(61): error:  #94: the size of an array must be greater than zero

回复

使用道具 举报

板凳
发表于 2014-8-6 16:17:32 | 只看该作者
你说的是结构体的定义空间吗??
回复 支持 反对

使用道具 举报

地板
发表于 2014-8-6 16:40:35 | 只看该作者
好精简的一个技术贴~
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2014-8-6 16:49:27 | 只看该作者
lucky80204 发表于 2014-8-6 16:17
你说的是结构体的定义空间吗??

{:soso__6236112034290849730_2:}
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-8-6 16:50:21 | 只看该作者
还你一世界 发表于 2014-8-6 16:40
好精简的一个技术贴~

{:soso__15960872840493620282_2:}
回复 支持 反对

使用道具 举报

6#
发表于 2014-8-7 09:00:57 | 只看该作者
preaty good
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2014-8-7 09:13:17 | 只看该作者
回复 支持 反对

使用道具 举报

8#
发表于 2014-8-7 09:14:08 | 只看该作者

楼主这个表情需要改一下,这样很不友好!要酱紫才好
回复 支持 反对

使用道具 举报

9#
发表于 2014-8-7 10:02:32 | 只看该作者
不错的帖子,
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2014-8-7 10:49:02 | 只看该作者
jerryzhai 发表于 2014-8-7 09:14
楼主这个表情需要改一下,这样很不友好!要酱紫才好

那是大拇指,我在夸你呢
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2014-8-7 10:49:21 | 只看该作者

thanks。。。
回复 支持 反对

使用道具 举报

12#
发表于 2014-8-7 12:17:44 | 只看该作者
。。。果然短小精旱
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2014-8-7 12:44:55 | 只看该作者
lxe 发表于 2014-8-7 12:17
。。。果然短小精旱

   
回复 支持 反对

使用道具 举报

15#
发表于 2014-8-7 15:54:30 | 只看该作者
原来这么个情况,,,
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2014-8-7 16:31:05 | 只看该作者
张衍波 发表于 2014-8-7 15:54
原来这么个情况,,,

啥情况   
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2014-8-7 16:31:23 | 只看该作者

你瞎      
回复 支持 反对

使用道具 举报

18#
发表于 2014-8-7 19:57:07 | 只看该作者
管理员呢?管理员,这有个素质低的!我逮到的!!!
回复 支持 反对

使用道具 举报

19#
发表于 2014-8-9 14:37:57 | 只看该作者
求教,结构体长度怎么算
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表