社区
C++ Builder
帖子详情
请问有谁知道在编译时有没有这样的选项可以设置:取消内联函数功能,即在编译时把内联函数当作普通函数对待。
blueandblue
2003-09-11 03:31:43
;;
...全文
57
3
打赏
收藏
请问有谁知道在编译时有没有这样的选项可以设置:取消内联函数功能,即在编译时把内联函数当作普通函数对待。
;;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blueandblue
2003-09-12
打赏
举报
回复
我知道gcc有这样的选项,gcc好象不是Borland公司的吧!
关键是在Borland的编译器有这样的选项吗?因为有两个函数系统是声明为内联函数形式的,而我又使用它们,所以需要在编译时去除内联功能。
repus
2003-09-11
打赏
举报
回复
较新版本的gcc有该选项
-fno-inline
zihan
2003-09-11
打赏
举报
回复
不会吧,你怎么会有这种要求阿,人家一般是有必要的时候才用的内联,你怎么可以给他取消了呢?
区别 :
内联
函数
和
普通
函数
的区别
内联
函数
和
普通
函数
的区别: 1、在
编译
过程中,
内联
函数
在
函数
的调用点,把
函数
代码全部展开,所以没有标准
函数
的栈帧的开辟和回退。 (如果 调用
函数
的开销 >
函数
执行的开销,那么就建议写为
内联
函数
) 调用的开销:
函数
的栈帧的开辟和回退 执行的开销:
函数
体内代码执行的开销 2、
内联
函数
只在本文件可见,
编译
阶段就进行了替换,所以不产生符号,所以一般在头文件中定义,这样就可以在其它文...
从
编译
器的角度理解
内联
函数
1.
内联
函数
定义: GCC中的inline
函数
可以相当于在一个
普通
的全局
函数
加上inline属性。inline关键字仅仅是建议
编译
器在
编译
的
时
候做内联展开处理,而不是强制在gcc
编译
器中,如果吧
编译
选项
设置
为负无穷,即使是inline
函数
也不会被内联展开,除非
设置
了强制内联展开的属性(attribute((always_inline)))。 关键字inline 必须与
函数
定义体放在一起才能使
函数
成为内联,仅将inline 放在
函数
声明前面不起任何作用
普通
函数
调用: 系统首先要跳跃到该
函数
的入口地址,执行
基础备忘:C++
内联
函数
阅读目录 什么是
内联
函数
如何使
函数
内联为什么要使用
内联
函数
inline
函数
的优缺点分析什么
时
候该使用
内联
函数
正文 在C语言中,我们使用宏定义
函数
这种借助
编译
器的优化技术来减少程序的执行
时
间,那么在C++中
有没有
相同的技术或者更好的实现方法呢?答案是有的,那就是
内联
函数
。
内联
函数
作为
编译
器优化手段的一种技术,在降低运行
时
间上非常有用。我们将从: 什么
内联
函数
与
普通
函数
区别&可执行文件结构介绍
一些基本知识回顾: 1、
内联
函数
与
普通
函数
的区别:
普通
函数
在
编译
后会被放到代码段,然后
函数
执行过程中调用
普通
函数
是需要先压栈,然后根据
函数
调用地址调用
函数
,
函数
返回后执行出栈操作。这样就会存在一个调用过程,有
时
间消耗(对于频繁调用的子
函数
就可以考虑写成
内联
函数
的形式)。 而一个
内联
函数
在
编译
后会将
函数
代码插入到调用处,这样虽然会增加代码段的空间(
内联
函数
的代码出现在
内联
函数
详解!!!
内联
函数
的概念: 以inline修饰的
函数
叫做
内联
函数
,
编译
时
C++
编译
器会在调用
内联
函数
的地方展开,没有
函数
压栈开销,提高运行效率 为什么要有
内联
函数
: 1.
内联
函数
在
编译
时
会进行替换,少了
函数
的压栈开销,提高运行效率 2.宏
函数
的缺点:在预处理
时
展开了,因此不会进行参数类型检测,并不能进行调试,实现要求严格(参数要求带括号)
内联
函数
和宏
函数
的区别: C++中有哪些方式可以替代宏: 1.宏常量:const类型的常量来进行替换,因为在C++中,被const修饰的变量是常量,const修饰的变量在
编译
期间会
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章