电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
static 与inline 不能同时使用吗?
已解决
73482
个问题
已帮助
5993
位优秀工程师
static 与inline 不能同时使用吗?
sgf201
2018-06-13
浏览量:1818
STM32在KEIL中的代码,有一个函数声明是 static inline int aaaaa(int b); 这个样子,编译的时候总是报inline 没有定义,去掉就正常了?这里是static和inline有冲突吗?代码原来是运行到linux上的,linux下没有这个限制是吗?
显示全部
嵌入式
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
Angel_YY
而在keil环境下,需要写成static __inline,在linux下是不用两个下划线的,在keil中是需要两个下
划线的。Keil中对于inline声明的关键字与linux不同。这一点在移植代码到不同平台时非常重要。
发布于
2018-06-13
举报
评论 2
2
0
奔跑的黑蚂蚁
回复了 Angel_YY:Static是静态变量,那这个inline是什么意思?
回复
Angel_YY
回复了 Angel_YY:内联函数声明
回复
其他答案
数量:
7
donatello
CodeBlocks环境下static和inline可以同时使用,MDK对inline的处理比较复杂,有时候会报错,如果用的话建议加下划线。
发布于
2018-06-13
举报
评论 0
0
0
勇哥来巡山
这个要看编译器是否支持,比如keil就不能同时使用,但是IAR可以
发布于
2018-06-13
举报
评论 0
0
0
chen0000009
在MDK下面,static和inline之间要加两条下划线
发布于
2018-06-14
举报
评论 0
0
0
@曲终人散@
可以同时使用,linux内核源码中很多这样的代码
发布于
2018-06-14
举报
评论 0
0
0
apleilx
MDK 下的 inline前面有两个下划线。可以用系统重定义的__STATIC_INLINE来代替,ARM核心的头文件基本都是
__STATIC_INLINE,可以跨IDE使用,IAR,GCC什么的都支持。
发布于
2018-06-14
举报
评论 0
0
0
菜鸟冷虎
MDK环境先是不能同时使用的,需要加下划线,但是在GCC下可以同时使用
发布于
2018-06-14
举报
评论 0
0
0
一笔之名也
是的,在keil下是不可以的。但是使用gcc编译器是没有问题的。
发布于
2018-06-15
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
static 与inline 不能同时使用吗?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: