在哪里可以找到外部变量的定义
where to find the definition of a external variable?
在哪里可以找到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搜索功能不符合标准,要么是因为它有缺陷(不太可能),要么是该项的实际定义在其范围之外(例如,您包含了一个不在项目中的头)。
-
实际的定义根本不是源文件中的,但可能是在对象文件或库中,在这种情况下,可能不应该担心定义-由于封装的原因,它是"隐藏的"。
当然,这些都是猜测,但这是我能用给出的信息做的最好的事情,我至少想认为它们是有根据的猜测:-)
如果您在代码中使用"extern"声明它,那么它是在另一个源文件中定义的,该文件可能是在您使用的库中编译的。参见:
http://drizzle.org/lcov/drizzled/sql_list.cc.gcov.html
相关文章:
- 用C++中的一个变量定义一个常量
- 变量定义到C++布尔值转换
- 未声明的标识符错误,但变量定义正确 (?)
- C++多线程程序:变量定义为类成员的隔离错误
- 将变量定义为静态时,为什么可以多次定义它
- 初始值设定项列表与构造函数赋值与变量定义
- 如何根据传递给函数的变量定义特征矩阵大小
- C++ 描述如何使用来简化变量定义
- 如何转发声明依赖于变量定义的类,而变体定义又依赖于模板化类?
- 是否修改其声明语句中的变量定义良好
- 使用类的其他成员变量定义类的成员变量数组
- 是否可以通过全局变量定义具有可变参数数的函数中的参数数量
- 元组 std::get() 不适用于变量定义的常量
- 全局使用变量定义和C 声明
- C++变量定义中的易失性类型量词位置
- 将变量定义为数组和正确的语法
- 多个,包括具有变量定义的头文件
- 调用构造函数,并将成员作为参数解析为变量定义
- 逗号分隔变量定义中关系前的序列
- 如何使用命名变量定义常量右值引用参数的默认值