论坛新人求助:关于C++和线性汇编混合编程

[复制链接]
3414|9
 楼主| hopesealy 发表于 2008-3-10 11:30 | 显示全部楼层 |阅读模式
在CCS&nbsp;C6000中<br />我自己写了一个.sa的模块<br />编译时通过,连接生成.out时报错<br />提示该函数名未定义<br /><br />该模块是在.cpp文件中调用的,应该怎么办?<br /><br />我觉得有可能是.cpp和.sa调用是的接口和.c和.sa的不一样?<br /><br />因为我试着把CCS提供的例子中.c文件的后缀名改为.cpp,也出现了同样的问题<br /><br />哪位高手知道是为什么?~~~&nbsp;&nbsp;谢谢&nbsp;
hotpower 发表于 2008-3-10 13:07 | 显示全部楼层

估计是头文件的问题

  
 楼主| hopesealy 发表于 2008-3-10 14:22 | 显示全部楼层

能说具体点吗?

需要怎么操作头文件?<br /><br />有人做过C++和线性汇编的混合编程吗
hitajian 发表于 2008-3-10 16:12 | 显示全部楼层

估计是函数申明的问题.

把你的工程打包发来,大家帮你看看.
 楼主| hopesealy 发表于 2008-3-10 20:03 | 显示全部楼层

见附件

是一个AVS解码器<br /><br />我自己小改了一下&nbsp;&nbsp;dy0dx0<br />&nbsp;<br /> <br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20083/20083102025773.rar'>https://bbs.21ic.com/upfiles/img/20083/20083102025773.rar</a>
hitajian 发表于 2008-3-10 23:38 | 显示全部楼层

试了试,没搞定.

建议先把C++改成C<br />毕竟CCS对C的支持要比C++好的多.
 楼主| hopesealy 发表于 2008-3-11 09:58 | 显示全部楼层

已经在尝试了,新问题

先谢过~<br /><br />这个项目当初是我一手改成C的,我把和C++相关的部分去掉了,就成了你看到的AVS&nbsp;cpp那个工程,里面确实已经没有C++的东西了。<br />现在把扩展名.cpp改成.c会大量报错,.c&nbsp;基本上都出在头文件,还有函数名不识别,变量重复定义等...<br /><br />&nbsp;我觉得问题可能存在于.cpp和.c文件编译连接成工程时的一些差异,但我又不知道怎么查到这方面的资料<br /><br />&nbsp;<br />
hitajian 发表于 2008-3-11 12:47 | 显示全部楼层

还不是标准的C

我看看了代码,里面还有不少是标准C不支持的代码和风格.<br />比如&nbsp;&nbsp;&nbsp;pBwRefInfo&nbsp;=&nbsp;&nbsp;new&nbsp;BWREFINFO[MAX_MB_NUM];<br />另外.头文件里面对结构的定义要改写一下.
 楼主| hopesealy 发表于 2008-3-12 13:30 | 显示全部楼层

谢谢hitajian

不过问题已经通过其它方法解决,不用再改成.c<br /><br />有兴趣的朋友可以参见<br /><br />extern的详解<br />http://blog.csdn.net/keensword/archive/2005/06/23/401114.aspx<br /><br />另外,大家知不知道,为何我新写的一个测试程序CCS不识别memset函数<br />#include&nbsp;&ltmemory.h&gt<br />#include&nbsp;&ltmalloc.h&gt<br />这样的头文件也加不进来<br /><br />我上面发的那个工程里面memset是可以的,似乎也没做什么特别的处理
 楼主| hopesealy 发表于 2008-3-12 13:57 | 显示全部楼层

结帖

楼上的问题也已解决<br /><br />在&nbsp;string.h&nbsp;里面<br /><br />结帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部