选项 -finline-force=
说明
该选项为链接时选项,与-flto结合使用,用于在LTO链接时,指示对传入的目标静态库或目标文件尝试进行内联,该选项将对目标文件中的函数尝试内联增强,增强以下内联扩展:
- 架构选项的兼容,当调用函数和被调用函数使用的march/mcpu等信息不同时,尽可能将被调用函数的架构选项与调用函数的架构选项切换一致,并进行内联编译。
- inline关键字,类似于被调用函数增加了inline关键字,指示在编译过程中能找到函数实体,就尽可能内联。
- always_inline属性,类似于被调用函数增加了__attribute__((always_inline))属性。
使用方法
在选项中加入,如传入多个文件名通过逗号隔开:
1 | -flto -finline-force=liba.a,libb.a |
注:-finline-force,不加目标文件名形式,仅用于全局内联调试分析,不直接使用。
举例:
1 2 3 4 | gcc -O2 -fPIC -flto -c fa.c -o fa.o gcc-ar rcs liba.a fa.o gcc -O2 -fPIC -flto -finline -force=liba.a main.c liba.a -o exe |
父主题: 二进制内联优化