首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置外部变量的值?

如何设置外部变量的值?
EN

Stack Overflow用户
提问于 2014-03-12 05:05:34
回答 1查看 1K关注 0票数 1

我正在使用glomosim模拟器进行网络练习。而网络层下的路由协议文件中有一条是如下所示。文件名为"ARAN.pc“(我从互联网上获得了这个文件,我希望用自组织路由协议(即ARAN)替换在模拟器中默认设置的aodv协议):

extern int maliciousNodesPercentage; //defined and set in driver.pc

当我编译模拟器(使用bat文件)时,显示了以下错误:

*call pcc -user_main -Zi -Ox -I..\include\ -clock longlong -o ..\bin\glomosim driver.pc temp.lib tmp-3572-0.c driver.init.c temp.lib(aran.obj) : error LNK2001: unresolved external symbol _maliciousNodesPercentage ..\bin\glomosim.exe : fatal error LNK1120: 1 unresolved externals*

当我打开maliciousNodesPercentage.文件时,没有找到driver.pc

如何设置变量的值?

EN

回答 1

Stack Overflow用户

发布于 2014-03-12 06:16:17

必须声明一个外部变量为somewhere。如果您只使用extern int maliciousNodesPercentage,它会告诉编译器这个变量是在其他模块中定义的,因此没有为它分配存储。在链接阶段,链接器将放入变量的实际入口。因为你没有在任何地方定义它,所以你得到了一个未解决的符号。

例如,在main中,定义为全局变量:

代码语言:javascript
复制
  int  maliciousNodesPercentage;

在所有其他模块(或头文件中)中,您可以这样做:

代码语言:javascript
复制
  extern int maliciousNodesPercentage;

然后您就可以像任何其他全局变量一样访问它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22342454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档