在哪里可以找到 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**
最佳答案
我可以看到两种直接的可能性。
Eclipse 搜索功能没有达到标准,要么是因为它有错误(不太可能),要么是因为该项目的实际定义在其范围之外的某个地方(例如,您包含的 header 不是'不在项目中)。
实际定义根本在源文件中,但可能在目标文件或库中,在这种情况下您可能不应该担心关于定义 - 由于封装原因,它是“隐藏”的。
诚然,这些都是猜测,但这是我对所提供信息所能做的最好的事情,而且我至少希望认为它们是有根据的猜测:-)
关于c++ - 在哪里可以找到外部变量的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313600/