代码:
file1.c
#include<stdio.h>
void spam(double v);
void masp(double w);
inline static double square(double);
double square(double x)
{
printf("%s %s %d\n", __FILE__, __func__, __LINE__);
return x * x;
}
int main()
{
double q = square(1.3);
printf("q = %f\n", q);
spam(3);
masp(5);
return 0;
}
inline static double square(double x)
{
printf("%s %s %d\n", __FILE__, __func__, __LINE__);
return x * x;
}
file2:
#include<stdio.h>
double square(double x)
{
printf("%s %s %d\n", __FILE__, __func__, __LINE__);
return (int) (x*x);
}
void spam(double v)
{
double kv = square(v);
printf("kv = %f\n", kv);
}
file3:
#include<stdio.h>
inline double square(double x)
{
printf("%s %s %d\n", __FILE__, __func__, __LINE__);
return (int) (x * x + 0.5);
}
void masp(double w)
{
double kw = square(w);
printf("kv = %f\n", kw);
}
参考:
你对C ++中的内联函数真的很了解吗 - 知乎内联函数是C ++的重要功能之一。那么,让我们首先了解为什么使用内联函数以及内联函数的目的是什么? 当程序执行函数调用指令时,CPU将存储该函数调用之后的指令的内存地址,将函数的参数复制到堆栈上,最后将控制…https://zhuanlan.zhihu.com/p/320014357
C语言 内联函数_c语言内联函数_a只如初见的博客-CSDN博客【注:本文只讨论C语言中的内联函数,暂不谈论C++,因为C++中这块知识相对要更复杂。】什么是内联函数在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。内联函数是代码被插入到调用者代码处的函数。内联函数通过避免被调用的开销来提高执行效率。采用内联函数实质是以空间换时间的做法举例:void myprintf(int a){printf(“%d”,a);}int main()https://blog.csdn.net/weixin_44788542/article/details/118979689
(122条消息) C语言 内联函数_c语言内联函数_吾爱技术圈的博客-CSDN博客https://blog.csdn.net/weixin_44788542/article/details/118979689
(122条消息) 关于C之内联函数_eatline_itzyjr的博客-CSDN博客
(122条消息) C++ 内联函数详解(搞清内联的本质及用法)_c++内联函数_赵大宝字的博客-CSDN博客