首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]请问如何定位中间函数

[求助]请问如何定位中间函数

请问版主:
如何将C编译器生成的中间函数(例如长整形运算之类的函数)定位在特定的段里面。
我发现编译器有时把它们放在4000处,有时又放在C000处,我想把它们放到4000处不知道改怎么做?
用#pragma可以规定函数的位置,比如在你的函数之前加上申明:

#pragma CODE_SEG MySection

另外,在PRM文件中将MySection放在4000处,格式如:

MySection INTO ROM_4000;

把这一句放在PLACEMENT段之中即可。
海纳百川  有容乃大
您好版主:
您可能没有明白我说的意思,例如:
word a,b;
a=(unsigned long)b*1000/500;
第二句话,C编译器会形成一个函数,编译器调用这个函数实现上述计算,我想知道的是如何定位编译器形成的这个中间函数。因为这些函数并不是我写的所以我不知道如何定位它在4000处。
如果你一定要把这个函数放在固定的地址上,那么你就自己定义一个运算函数好了。
另外,你也可以选择编译的优化选项。当选择速度优先时,编译器就会不生成函数,而是直接以本地指令实现运算。
海纳百川  有容乃大
返回列表