c++ - 在哪里可以找到外部变量的定义?

标签 c++

在哪里可以找到 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**

最佳答案

我可以看到两种直接的可能性。

  1. Eclipse 搜索功能没有达到标准,要么是因为它有错误(不太可能),要么是因为该项目的实际定义在其范围之外的某个地方(例如,您包含的 header 不是'不在项目中)。

  2. 实际定义根本源文件中,但可能在目标文件或库中,在这种情况下您可能不应该担心关于定义 - 由于封装原因,它是“隐藏”的。

诚然,这些都是猜测,但这是我对所提供信息所能做的最好的事情,而且我至少希望认为它们是有根据的猜测:-)

关于c++ - 在哪里可以找到外部变量的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313600/

相关文章:

c++ - 在 C++ 中压缩 std::vector 的 bools 特性

c++ - C++ 中的 K/APL 风格编程?

c++ - CImg库在编译时返回对 `__imp_SetDIBitsToDevice'的 undefined reference

c++ - 在这种情况下,Hinnant 的 unique_ptr 实现是否错误地无法将派生转换为基础?

c++ - 对稀疏数组的高效多线程写访问?

c++ - 用 BFS 找路

c++ - 返回类(class)成员是一种不好的做法吗?

c++ 模板参数列表中参数 1 的类型/值不匹配

c++ - 如何用四元数来描述大于360度的旋转角度?

C++:可以继承类及其 protected 成员类型吗?