外部变量没有错误重新定义为静态

时间:2018-02-26 04:22:50

标签: c static extern

我写了以下代码:

//f1.h
extern uint8 yyy;

//f1.c
#include "f1.h"
uint8 yyy;
...
//many more variables created by previous developers
static uint8 yyy; //created by previous developers
...

我认为以前的开发人员没有命名这样的变量并且创建了yyy。 在一些代码审查更改之后,我决定将yyy重命名为其他内容,而在搜索f1.c以查找yyy时,我在f1.c中找到了另一个静态变量

static uint8 yyy;

为什么编译器最初警告我关于另一个变量yyy?

在执行Lint文件时,Lint只发出警告:

Warning 401: symbol 'yyy' not previously declared static at line.

假设我没有Lint,是否可以声明一个具有相同名称的静态和外部变量? 在创建新变量时,我可以做哪些检查以确保变量名称不存在?

0 个答案:

没有答案