首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > VxWorks >

关vxWorks上的符号表的有关问题

2012-02-16 
关vxWorks上的符号表的问题我使用C++编写了一个程序,但是当调用symFindByName时总是产生找不到指定符号的

关vxWorks上的符号表的问题
我使用C++编写了一个程序,但是当调用symFindByName时总是产生找不到指定符号的问题。但是我使用Shell上的lkup可以发现我的函数,以及相关的信息。请问这是为什么。
我的程序采用下装的方式down到目标机中的。

[解决办法]
如果是C的函数声明的时候需要添加extern "C" {}的
[解决办法]
"使用Shell上的lkup可以发现我的函数",你这里所指的shell是wshell还是tshell呢?
通过arget server下装到目标机上的模块,并不一定能在程序里使用sysfindbyname找到吧,要看内核编译选项里有没有选择这个"synchrosize host and target symbol table"选项~
[解决办法]
如果是在不同的.out里,是不是应该添加-mlong-call这个编译选项。
[解决办法]
download模式和loaddModule加载模式是不同的,加载的位置也不同,加载的符号表也不一样。download模式加载的符号表属于“私有”性质只有在主机的shell下才能看到,也只有在主机download模式下加载的程序可以看到,而loadModule加载的符号表属于“公共”性质。什么情况下都能看到。

热点排行