这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [求助]一个c函数的inline问题

共2条 1/1 1 跳转至

[求助]一个c函数的inline问题

菜鸟
2005-04-09 20:03:05     打赏

小弟初学ARM,遇到一个c函数的inline问题,希望高手给以解答。 我把一个函数声明为inline函数,例如: int __inline cFunc(int x, int y ) { int z; ... ... return z; } 首先,这个函数在ads下可以编译通过,而在sdt下编译不通过,编译器不认__inline; 其次,编译完成后,我看了一下编译后的代码,这个函数并没有实现inline, 仍旧是跳转进入的

而且,armcc的编译选项中,似乎没有与inline相关的设置,对此我很迷惑, 希望高手能解小弟之忧!!

还有就是,如果我把上述的示例函数改为define,再将汇编代码直接嵌入c代码中,我该怎么写,怎么解决运算结果的返回问题(代码如下所示); #define cFunc(x, y) ({ int z; _asm{ ... } z \/*z,怎么处理*/ }) 首先是编译器在这里不认第2行中的"{",而在这里我声明了局部变量,嵌入了汇编代码,必须用{ }将其括入;而且即使解决了这些问题,我又该如何将作为运算结果的局部变量z返回,这样的define中是不能用return 的,在嵌入的汇编代码中能添加什么语句解决这个问题么? [align=right][color=#000066][此贴子已经被作者于2005-4-9 12:06:14编辑过][/color][/align]




关键词: 求助     一个     函数     inline     问题    

菜鸟
2005-04-18 20:57:00     打赏
2楼

#define cFunc(x, y) \

int z ;\

do{ \

_asm{ ... } }while(0)


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]