打印

关于在IAR中的c程序与汇编代码文件编译的疑问

[复制链接]
1445|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
soulmist|  楼主 | 2016-9-27 09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一般来说c要调用其它文件中的函数势必要调用其相对应的头文件,但是如果是c要调用一个汇编文件的函数时候该怎么做?

比如在ucos-ii 代码中,有一个os_cpu_a.s的文件,该汇编文件主要是做任务切换 保留堆栈的高频使用的汇编代码 其中用到C文件中的函数都在开头进行的了申明。
如:
切换的汇编函数
上面这个OSCtxSw这个函数在os_cpu.h中有原型 ,然后在os_cpu_a.asm中实现 这样是如何做到的? 编译器如何识别以及实现这一内容?



相关帖子

沙发
soulmist|  楼主 | 2016-9-27 09:09 | 只看该作者
求大神指点迷津

使用特权

评论回复
板凳
soulmist|  楼主 | 2016-9-27 09:19 | 只看该作者
没有人嘛

使用特权

评论回复
地板
john_lee| | 2016-9-27 10:13 | 只看该作者
这个是“链接器”的工作。
编译器只记录调用的函数的名称,链接器使用这个名称在多个文件之间查找,然后确定地址。

使用特权

评论回复
5
soulmist|  楼主 | 2016-9-27 10:52 | 只看该作者
john_lee 发表于 2016-9-27 10:13
这个是“链接器”的工作。
编译器只记录调用的函数的名称,链接器使用这个名称在多个文件之间查找,然后确 ...

谢谢! 后来找了C与汇编混合编程的仔细看了下 ,是你这个意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

122

帖子

0

粉丝