01.12.2014 Views

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

混 合 使 用 C、C++ 和 汇 编 语 言<br />

符 号 名 称 延 伸<br />

链 接 程 序 将 取 消 信 息 中 符 号 名 称 的 延 伸 。<br />

在 C++ 程 序 中 , C 名 称 必 须 声 明 为 extern "C"。 已 经 为 <strong>ARM</strong> ISO C 头 文 件 完 成<br />

此 操 作 。 有 关 详 细 信 息 请 参 阅 第 5-17 页 的 在 C++ 中 使 用 C 头 文 件 。<br />

5.6.3 示 例<br />

下 列 章 节 中 包 含 有 代 码 示 例 , 说 明 :<br />

• 从 C 调 用 汇 编 语 言 ;<br />

• 第 5-23 页 的 从 汇 编 语 言 调 用 C ;<br />

• 第 5-23 页 的 从 C++ 调 用 C ;<br />

• 第 5-24 页 的 从 C++ 调 用 汇 编 语 言 ;<br />

• 第 5-25 页 的 从 C 调 用 C++ ;<br />

• 第 5-26 页 的 从 汇 编 语 言 调 用 C++ ;<br />

• 第 5-28 页 的 从 C 或 汇 编 语 言 调 用 C++ ;<br />

• 第 5-27 页 的 在 C 和 C++ 之 间 传 递 引 用 。<br />

这 些 示 例 假 设 默 认 为 使 用 非 软 件 栈 检 查 的 ATPCS 变 体 , 因 为 它 们 执 行 栈 操 作 时<br />

不 检 查 栈 溢 出 。<br />

从 C 调 用 汇 编 语 言<br />

示 例 5-8 和 第 5-22 页 的 示 例 5-9 显 示 的 C 程 序 调 用 了 汇 编 语 言 子 程 序 , 其 中 将<br />

一 个 字 符 串 复 制 到 另 一 个 字 符 串 中 。<br />

示 例 5-8 从 C 调 用 汇 编 语 言<br />

#include <br />

extern void strcopy(char *d, const char *s);<br />

int main()<br />

{ const char *srcstr = "First string - source ";<br />

char dststr[] = "Second string - destination ";<br />

/* dststr is an array since we 抮 e going to change it */<br />

printf("Before copying:\n");<br />

printf(" %s\n %s\n",srcstr,dststr);<br />

strcopy(dststr,srcstr);<br />

printf("After copying:\n");<br />

printf(" %s\n %s\n",srcstr,dststr);<br />

return (0);<br />

}<br />

<strong>ARM</strong> DUI 0203BSC © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 5-21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!