内联函数 C/C++

代码:

file1.c

#include

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

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

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博客

你可能感兴趣的:(c++,c语言,开发语言)