Chinaunix首页 | 论坛 | 博客
  • 博客访问: 831060
  • 博文数量: 281
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2770
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 19:45
个人简介

邮箱:zhuimengcanyang@163.com 痴爱嵌入式技术的蜗牛

文章分类
文章存档

2020年(1)

2018年(1)

2017年(56)

2016年(72)

2015年(151)

分类: 嵌入式

2015-10-20 09:40:29

一段C代码,编译发现警告信息。

typedef const struct PWM_Interf{

    void (*PWM_GpionInit)(void);
    void (*PWM_TimerInit)(void);
    void (*PWM_RunPattern)(TEST_PATTERN *p_test_pattern);
    
}PWM_Interf;

PWM_Interf *PWM_GetInterf(void)
{
    const PWM_Interf pwm_interface ={
        PWM_GpioInit,
        PWM_TimerInit,
        PWM_RunPattern,
    };
    
    return &pwm_interface;
}


出现警告:
..\HARDWARE\TIMER\timer.c(316): warning:  #1166-D: returning pointer to local variable
------------------------------------------------------------------------------------------------

原因如下:
When returning a pointer from a function, do not return a pointer that points to a value that is local to the function or that is a pointer to a function argument. Pointers to local variables become invalid when the function exits. In the above function, the value returned points to a static variable. Returning a pointer to dynamically allocated memory is also valid.



阅读(4807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~