从C静态库导出变量
发布时间:2020-12-16 10:15:10 所属栏目:百科 来源:网络整理
导读:我有一个用C编写的静态库,我有一个描述数据格式的结构,即 struct Format{ long fmtId; long dataChunkSize; long headerSize; Format(long,long,long); bool operator==(Format const other) const;}; 一些数据格式被广泛使用,如{fmtId = 0,dataChunkSize =
我有一个用C编写的静态库,我有一个描述数据格式的结构,即
struct Format{ long fmtId; long dataChunkSize; long headerSize; Format(long,long,long); bool operator==(Format const & other) const; }; 一些数据格式被广泛使用,如{fmtId = 0,dataChunkSize = 128,headerSize = 0}和{fmtId = 0,dataChunkSize = 256,headerSize = 0} 格式化gFmt128(0,128,0); 而且.h有 extern格式gFmt128; 另外,我声明格式const& Format :: Fmt128(){return gFmt128;}并尝试在主模块中使用它. 但是如果我尝试在使用lib的主模块中执行此操作,则链接器会抱怨未解析的外部gFmt128. 如何让我的库’导出’那些全局变量,所以我可以从其他模块中使用它们? 解决方法
不要在全局声明中使用static关键字.
Here is an article explain the visibility of variables with/without static.静态赋予全局变量内部链接,即只在声明它们的翻译单元中可见.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |