问题标签 [extern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
47367 浏览

c++ - 外部内联做什么?

我知道这inline本身就是对编译器的建议,它可能会或可能不会内联函数,它也会产生可链接的目标代码。

我认为这样static inline做是一样的(可能是内联的,也可能不是内联的),但在内联时不会产生可链接的目标代码(因为没有其他模块可以链接到它)。

哪里extern inline适合图片?

假设我想用一个内联函数替换一个预处理器宏,并要求这个函数被内联(例如,因为它使用__FILE__and__LINE__宏,应该为调用者而不是这个被调用函数解析)。也就是说,如果函数没有内联,我想查看编译器或链接器错误。这样做extern inline吗?(我认为,如果没有,除了坚持使用宏之外,没有其他方法可以实现这种行为。)

C++ 和 C 之间有区别吗?

不同的编译器供应商和版本之间是否存在差异?

0 投票
4 回答
11597 浏览

c++ - 在 C++ 中全局定义结构

关于如何全局(使用 extern struct)声明一个可以在超过 1 个 c++ 文件中看到的结构,有一个有点详细的线程(228684),但我不知道该怎么做(有很多讨论关于做这个,做那个,也许做这个,试试这个,等等......)。

有人可以发布一个非常简单的示例,说明如何声明可以在 2 个单独的 c++ 文件中看到的结构吗?如果我将所有函数与主函数放在同一个文件中,它可以正常工作,但是当我尝试将函数拆分为不同的文件时,我无法编译它。

我不清楚的事情......我应该输入结构吗?我是否在头文件中定义结构并将该头包含在每个 C++ 源文件中?我需要头文件中的#ifndef 宏吗?我是否在标题中声明结构外部?

0 投票
3 回答
4852 浏览

c++ - extern 关键字和未解析的外部符号

我用油漆画了一个小图来解释我的问题:

<img>但是当我在发布后使​​用标签时似乎没有出现?

图形:

http://i44.tinypic.com/103gcbk.jpg

0 投票
8 回答
12417 浏览

c++ - C++ 定义跨文件常量的最佳方式

我正在开发一款游戏并且有一个有趣的问题。我有一些游戏范围的常量值,我想在一个文件中实现。现在我有这样的事情:

常量.cpp

常量.hpp

然后文件只是 #include "constants.hpp" 这很好用,直到我需要使用其中一个常量作为模板参数,因为外部链接的常量不是有效的模板参数。所以我的问题是,实现这些常量的最佳方法是什么?恐怕只是将常量放在头文件中会导致它们在每个翻译单元中定义。而且我不想使用宏。

谢谢

0 投票
3 回答
11065 浏览

c++ - C++模板参数有什么要求?

如果您在 C++ 中使用一个将整数值作为参数的模板,那么对于用作参数的整数变量是否有任何要求与将变量用作函数调用中的参数不同?

这是对here的后续问题 。我特别想解决函数或模板是否存在声明为“extern const int”的差异 WRT 变量?

我可以看到,对于某些模板案例,编译时需要参数值。这总是正确的吗?有没有办法指定在运行时使用该值,也许仅用于参数值的某些用途?

0 投票
9 回答
71688 浏览

c# - “无法在 dll 中找到名为 [function] 的入口点”(c++ 到 c# 类型转换)

我有一个来自第三方的 dll,它是用 C++ 编写的。以下是来自 dll 文档的一些信息:

描述:接收函数结果的数据结构。所有函数结果都将存储为 Unicode (UTF-8)。

方法:

输入:

此函数要识别的图像位置的完整路径

用于接收函数结果的数据对象。函数返回:成功则返回真,否则返回假。

我正在尝试从我的 C# 应用程序中调用 recoCHN_P_Name。为此,我想出了这段代码:

导入dll的代码:

调用函数的代码:

我得到的错误是““无法在 DLL 'cnOCRsdk.dll' 中找到名为 'recoCHN_P_Name' 的入口点。”我怀疑我在将类型从 C++ 转换为 C# 时出错。但是究竟在哪里……?

0 投票
5 回答
5989 浏览

c++ - 这个外部无害吗?

主文件

主程序

在 main.c 模块中,定义并声明了数组。将 extern 语句也包含在模块中的行为是否会导致任何问题?

我一直将 extern 语句可视化为链接器的命令,以“在其他地方查找实际的命名实体。它不在这里。

我错过了什么?

谢谢。

邪恶的。

0 投票
2 回答
418 浏览

sdl - SDL_Surface 的外部编译错误

我收到Code::Block一个SDL_Surface变量的编译错误。奇怪的是,这是我第一次收到这种错误,因为我之前使用过这行代码并且运行良好。

导致此问题的一个(几个具有相同问题的)示例代码行是:

产生的错误是这样的:

我试图理解错误,但我不知道它是什么。有谁知道可能出了什么问题?

0 投票
1 回答
12651 浏览

c - 在 C 中链接外部变量

在 Unix 中,我有三个主要文件。其中一个是库,另一个是程序。

  • MyLib.c并且MyLib.h是图书馆。
  • main.c是程序。

MyLib.h我有一个声明(extern int Variable;)。当我尝试使用Variable时,main.c我不能。当然,我已经包含MyLib.hinMyLib.c和 in main.c,并且我也将它们链接起来。无论如何,该变量在main.c.

链接程序时如何获取可用的变量?

0 投票
4 回答
804 浏览

c++ - 为什么引用一些导出的 const 变量的一些 const 变量的值是 0?

考虑以下。我有两个导出的常量,如下所示:

这些常量现在在其他地方引用以定义两个静态(本地可见)常量:

产生以下输出:

为什么第二个双0?我正在使用 .NET 2003 C++ 编译器(13.10.3077)。