我很难让 Eclipse Indexer (Codan) 识别头文件中的某些数据声明。有一个新的偏好索引所有标头变体 http://wiki.eclipse.org/CDT/User/NewIn83#Preferences_for_header_variants,但很少解释这意味着什么。启用首选项似乎可以解决该问题。但我仍然想知道这个偏好到底是做什么的。
假设你有标题a.h
像这样:
#pragma once
#ifndef SYMBOL
#define SYMBOL int
#endif
struct S
{
SYMBOL sym;
};
现在,如果您像这样包含标题:
struct UserSymbol
{
int i, j, k;
};
#define SYMBOL UserSymbol
#include "a.h"
S var;
int main()
{
var.sym.i = 123;
return 0;
}
那么 Eclipse CDT 可能无法识别sym.i
.
您可能有更复杂的示例,其中包含更深的嵌套包含物等。
EDIT:
但如果你包括a.h
到“索引特定标头的所有变体”列表或选中“索引所有标头变体”Eclipse 将构建a.h
索引并“知道”您已经定义了您的特定SYMBOL
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)