问题标签 [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 投票
3 回答
21444 浏览

c - 为什么要使用 `extern void my_func();` 而不是包含 `my_utils.h`?

我正在编写一些我没有编写的代码,并注意到有很多extern void my_func();.

我的理解是extern用于全局变量,而不是函数。

是否有实际理由将函数声明为extern而不是将其放在头文件中并包含它?或者这只是一种风格选择?

0 投票
1 回答
1417 浏览

c++ - (C++) 如何将 stl 列表声明为 extern?

我有:

在我的 main.cpp 中。我需要在我的一个类文件中将这两个声明为 extern,但是当我尝试直接的方法时,我的编译器给了我一些关于缺少“>”的错误。我将如何解决这个问题?

0 投票
2 回答
12453 浏览

c - 语法错误 - 标记“;” 在“变量名”之前插入

我正在用 C 编程。我收到以下错误:

这是我在 .h 文件中的内容:

谁能告诉我这部分代码中我缺少什么?

0 投票
3 回答
6654 浏览

c++ - 外部存储类说明符

C++ 标准的第 7.1 节提到了“extern”作为存储类说明符。

N3126 - “extern 说明符只能应用于变量和函数的名称。extern 说明符不能用于类成员或函数参数的声明。有关使用 extern 说明符声明的名称的链接,请参见 3.5。[注意:extern 关键字也可以用在显式实例化和链接规范中,但在这种情况下它不是存储类说明符。——尾注]

我了解这个关键字,它在“链接规范”的上下文中使用,但我无法掌握使用“extern”作为存储说明符。

  1. 不是所有的“外部”名称都有静态存储持续时间吗?
  2. 如果对 1 的回答是肯定的,那么为什么会出现这种冗余?兼容性?
0 投票
2 回答
1994 浏览

c# - 在 C# 中定义外部“C”函数

我有一个用 C# 编写的 ActiveX 控件,并在 ActiveX 兼容程序 (CoDeSys) 中运行时工作。我遇到的问题是,为了让 CoDeSys 与 ActiveX 控件交互,CoDeSys 需要 dll 来导出函数原型:

我已经查看了如何像在 C++ 中一样导出它,但没有成功,如下例所示:

C# 确实有一个extern关键字,但它不允许您提供函数定义(至少我还没有找到方法)。尝试此操作后:

出现以下错误:

有没有人尝试在 C# dll 中导出函数?

有什么解决方法吗?(我想到了[DllImport("AlarmsCSharp.dll")]并在 C++ dll 中调用 C#,但我想看看是否有人以前有解决方案)

也许我想多了,不需要导出这个函数,因为 ActiveX 控件已经能够与 C# 代码交互。

编辑:我感觉我从 C++ 函数原型到 C# 接口声明的翻译。如果在 C++/C# 编程方面有更多经验的人可以验证我所做的翻译是否正确,那可能会有所帮助。

0 投票
2 回答
13144 浏览

objective-c - 如何在 Objective-C 中命名常量?

Objective-C 中常量的命名约定是什么(或最广泛使用的命名方式)?

extern常量有不同的标准吗?

我见过的一些款式:

0 投票
1 回答
2038 浏览

c - C中的外部结构

我有一个使用 f2c(Fortran 到 C 转换器)生成的 C 文件,其中包含以下 C 结构:

如何const_在不修改 f2c 生成的变量的情况下在另一个 .c 文件中将此变量声明为外部变量?

0 投票
3 回答
2133 浏览

c - 没有类型的外部

如果的语法extern

extern如果我有一个未命名的一次性使用结构,我该怎么办:

我试过了

没有任何类型,它不起作用。

或者,我必须命名结构吗?

0 投票
3 回答
3181 浏览

iphone - extern 在目标 C 中做了什么?

如果你在一个目标 C 文件中 extern 一个 C++ 方法(不是一个变量),这甚至会做什么?它允许你做什么?尤其是在 iPhone 应用程序的上下文中。

0 投票
3 回答
3043 浏览

c++ - extern "C" 没有按预期工作

我正在尝试挂钩 Win32 API 函数。我正在制作一个我想从中导出函数的 DLL,但我已经在基础方面失败了。我的声明如下:

但导出的函数名不是“fnTest”——正如我所料——而是“_fnTest@0”。我只能在将函数调用约定声明为 时使其工作__cdecl,这会导致导出名称为“fnTest”,但由于 Win32 调用连接WINAPI/__stdcall不是一个选项。

我正在使用VS2010。提前致谢。