在哪里可以找到end_of_list的定义?我从eclipse搜索整个项目,但找不到定义。但是当在调试时将end_of_list作为表达式时,我可以看到它的值,只是不要从哪个文件中找到它。
#pragma once
#include <cstdlib>
#include <cassert>
#include <utility>
#include <algorithm>
#include <drizzled/memory/sql_alloc.h>
#include <drizzled/visibility.h>
namespace drizzled {
....
#define DRIZZLED_API __attribute__ ((visibility("default")))
extern DRIZZLED_API list_node end_of_list; // where to find **end_of_list**
答案 0 :(得分:3)
我可以看到两种直接的可能性。
Eclipse搜索功能不是因为它是错误的(不太可能),或者该项的实际定义被保留在其范围之外的某个地方(例如,您包含的标题是在项目中。
实际定义根本不是在源文件中,但可能在目标文件或库中,在这种情况下,您可能不应该担心关于定义 - 由于封装的原因,它是“隐藏的”。
当然,这些都是猜测,但这是我能用所提供信息做的最好的,而且我至少喜欢认为他们是受过教育的猜测: - )
答案 1 :(得分:1)
如果您使用“extern”在您的代码中声明它,那么它是在另一个源文件中定义的,该文件可能是您正在使用的库中编译的。参见: