返回官网官方微博

麦步社区-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: MAI 表盘
查看: 3764|回复: 4
打印 上一主题 下一主题

编译器Bug?

[复制链接]

1

主题

2

帖子

55

麦力

精华
0
阅读权限
10
在线时间
1 小时

跳转到指定楼层
楼主
发表于 2016-12-7 11:20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zt-x 于 2016-12-7 11:27 编辑

最近在编写一个简单的程序,然后遇到了一个奇怪的问题:在模拟器上可以跑通过,但是放在手表上就会出先重启的问题
  1. /*
  2. * =====================================================================================
  3. *     本程序根据 gliu (), gliu@maibu.cc 的 demo_text.c 修改而来特别感谢
  4. *     Modulename:
  5. *       Filename:  PoetryTang.c
  6. *
  7. *    Description:  
  8. *    Corporation:
  9. *
  10. *         Author:  Zoologist
  11. *        Created:  2016年12月1日
  12. *
  13. * =====================================================================================
  14. *
  15. * =====================================================================================
  16. *
  17. *   MODIFICATION HISTORY :
  18. *   
  19. *                     DATE :  
  20. *                     DESC :
  21. * =====================================================================================
  22. */        
  23. #include <stdlib.h>
  24. #include <stdio.h>
  25. #include <string.h>

  26. #include "maibu_sdk.h"
  27. #include "maibu_res.h"


  28. //窗口显示的内容


  29.         
  30. P_Window p_window;

  31. void setup()
  32. {
  33.   //创建窗口
  34.   p_window  = app_window_create();
  35.         if (NULL == p_window)
  36.         {
  37.                 return ;
  38.         }

  39.         /*创建文本图层框架范围*/
  40.         GRect frame = {{0, 45}, {40, 128}};
  41.         unsigned char buf[]=        "麦步欢迎您!";

  42.         /*生成文本结构体, 依次为文本内容、文本显示框架、对齐方式、字体字号*/
  43.         LayerText text = {buf, frame, GAlignCenter, U_GBK_SIMSUNBD_16};

  44.         /*创建文本图层*/
  45.         P_Layer layer = app_layer_create_text(&text);

  46.         /*添加文本图层到窗口中*/
  47.         app_window_add_layer(p_window, layer);

  48.         app_window_stack_push(p_window);

  49. return ;
  50. }
  51.   
  52.   
  53. int main()
  54. {
  55.   
  56. //simulator_init();
  57.         setup();
  58.         //while (1==1)
  59.         //{
  60.         //        loop();
  61.         //}
  62.         
  63. //simulator_wait();

  64.         return 0;

  65. }
复制代码

最后发现,出现问题的代码在
P_Window p_window; 这里
如果写成下面这个样子就没问题

void setup(){  
//创建窗口  
P_Window  p_window  = app_window_create();

我想问一下这个是不是编译器的问题?
谢谢!


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信 WeiboWeibo
收藏收藏1 分享分享 顶3 踩

3

主题

118

帖子

1223

麦力

精华
1
阅读权限
150
在线时间
59 小时
沙发
发表于 2016-12-7 14:53:33 | 只看该作者
结构体指针变量暂时不要定义为全局的。

1

主题

2

帖子

55

麦力

精华
0
阅读权限
10
在线时间
1 小时

板凳
 楼主| 发表于 2016-12-7 14:54:58 | 只看该作者
mark 发表于 2016-12-7 14:53
结构体指针变量暂时不要定义为全局的。

这是编译器的 Limitation?

3

主题

118

帖子

1223

麦力

精华
1
阅读权限
150
在线时间
59 小时
地板
发表于 2017-1-23 11:05:08 | 只看该作者
是OS对于全局的结构体指针还没有做处理。

115

主题

1013

帖子

5771

麦力

精华
1
阅读权限
100
在线时间
87 小时

麦步工业测评协会

5#
发表于 2017-1-26 21:55:57 | 只看该作者
我看不懂 但是顶一个!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|麦步官方论坛 ( 粤ICP备12052190号  

GMT+8, 2024-11-24 02:41 , Processed in 0.078305 second(s), 24 queries .

Powered by Discuz! X3.2

© 2012-2021 Comsenz Inc.

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