linkage

    7热度

    2回答

    [basic.link]/6(我emphasiss): 块范围声明的函数的名称和块范围extern声明声明的变量名具有联动。 ... static void f(); static int i = 0; void g() { extern void f(); // internal linkage int i; // #2 i has no linkage {

    3热度

    1回答

    从cppreference.com提取: 将表示对象,参考,功能,类型,模板, 命名空间,或值的名称,可以具有联动。 什么是“价值的名称”?任何人都可以提供一个例子,其中一个值的名称不是一个对象的名称?对这个东西密切

    9热度

    1回答

    从Storage-class specifiers: 存储类说明确定他们宣称的名字两个独立的特性:存储时间和联动。 因此,例如,当static关键字的全局变量和函数使用(谁是存储类是静态反正)它设置了联动,内部联动。当用于函数内部的变量(没有链接)时,它将它们的存储类设置为静态。 我的问题是:为什么两个事物使用相同的说明符?

    0热度

    2回答

    最近我开始了一个新的C++项目。问题是,当我尝试编译它时,我得到一个链接错误。今天我花了整整一天的时间来尝试调试它,但我并没有在任何地方找到一个好的解决方案。如果有人可以帮助它,这将是惊人的。我正在使用Mac Sierra。 parsing/methylation.h #ifndef EPIRL_METHYLATION_H #define EPIRL_METHYLATION_H #inclu

    0热度

    1回答

    我有一些InDesign插件的遗留代码,我正在尝试为使用C++ 11支持的XCode编译器的InDesign新版本进行编译。 有一个头文件AdWrksSession.h,其中包含一个具有C链接的类对象,如下所示。 作为extern对象/变量的声明所说: extern "C" CAdWrksSession gAdWrksSession; 和cpp文件AdWrksSession.cpp包含具有相同

    4热度

    2回答

    前提 根据一个定义规则,如在C++14 Standard所述,我可以在只要每个转换单元一个同一个类的定义因为我遵循3.2.6中的规则。这意味着允许下面的程序是合法的: //a_1.cpp class A { //definition of A int a; //definition of A::a static int b; //declaratio

    3热度

    1回答

    如果我有一个头foo.h包含 #ifndef FOO_H_ #define FOO_H_ namespace foo { constexpr std::string_view kSomeString = "blah"; } #endif // FOO_H_ 则是安全的从多个中包括foo.h在一个程序中.cc文件,无论他们做什么符号为kSomeString,还是有一些可能导致ODR

    0热度

    1回答

    在C中,使用在多个翻译单位可变的变量,我们需要 确保变量有外部链接。 同样,在C++中,如果我想要在名称空间中定义的变量用于多个翻译单元,该变量是否必须具有外部 链接?我应该如何正确使用名称空间和连接? 在命名空间中定义的变量的默认链接是什么? 谢谢。

    -2热度

    1回答

    让说我内MyTools.h #ifndef _MYTOOLS_ #define _MYTOOLS_ typedef struct { // const double LN20; double LN40; // methods double NoteToFrequency(int noteNumber); } Tool; extern

    1热度

    1回答

    我需要实现一个Assembly模块来读取JCL中通知的任何文件(F,FB,V,VB)。这个模块在我的COBOL程序中被调用。 我已经设法实现了打开,读取和关闭功能。 键联是这样的: 01 LNK-MOD. 05 LNK-MOD-OPTION PIC X(01) VALUE SPACE. 05 LNK-MOD-STATUS PIC X(01) VALUE SPACE.