static inline和inline的区别——stm32实测

参考:http://armbbs.cn/forum.php?mod=viewthread&tid=95190&extra=page%3D1

对于内联函数,不能像普通函数那样,直接在.h文件里面声明下,源文件里面定义下,然后其他C文件就可以调用。

而加上static的前缀后,就解决了这个问题。以CMSIS软件包为例,就全部在头文件里面定义好,并加上了STATIC,这样其他文件就都可以调用了

#define __INLINE                               inline
#define __STATIC_INLINE                   static inline

同时也要参考:

https://www.runoob.com/w3cnote/cpp-inline-usage.html

我在stm32中进行了测试

main.h文文件中定义如下:

在main函数中直接调用即可。

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12069879.html

时间: 2024-10-31 01:48:17

static inline和inline的区别——stm32实测的相关文章

block,inline和inline-block的区别

概念 block是块级元素,会被现实认为是单独的一块,会单独占一行. 常见的block元素有: DIV, FORM, TABLE, P, PRE, H1~H6, DL, OL, UL 等. inline内联元素,不会产生换行,一系列的inline在一行内显示,直到排满为止. 常见的内联元素有 SPAN, A, STRONG, EM, LABEL, INPUT, SELECT, TEXTAREA, IMG, BR 等. inline-block:是将对象呈现为inline对象,但是对象的内容作为b

PHP中new static()与new self()的区别异同分析

本文实例讲述了PHP中new static()与new self()的区别异同,相信对于大家学习PHP程序设计能够带来一定的帮助. 问题的起因是本地搭建一个站.发现用PHP 5.2 搭建不起来,站PHP代码里面有很多5.3以上的部分,要求更改在5.2下能运行. 改着改着发现了一个地方 return new static($val); 这尼玛是神马,只见过 return new self($val); class A { public static function get_self() { re

PHP 中 new static 和 new self 的区别

        今天老大在公司 问了一下  new static  和 new self 的区别 公司十个程序 竟然没有一个回答上来 后面画面自补 ... 本屌丝回家后 就百度了解了下 这二者区别 : 使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类: 使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的.也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用. 简单通俗的来说, self就是写在哪个类里面, 实

new static() 和 new self() 的区别异同

长夜漫漫啊! 今天领导本地搭建一个站.发现用PHP 5.2 搭建不起来,站PHP代码里面有很多5.3以上的部分,领导让苦逼我更改在5.2下能运行. 改着改着发现了一个地方 return new static($val); 这尼玛是神马,只见过 return new self($val); 于是上网查了下,他们两个的区别. self - 就是这个类,是代码段里面的这个类. static - PHP 5.3加进来的只得是当前这个类,有点像$this的意思,从堆内存中提取出来,访问的是当前实例化的那个

static final 和final的区别 2016.12.07

学习java的时候常常会被修饰符搞糊涂,这里总结下static final和final的区别. 1.static 强调只有一份,final 说明是一个常量,final定义的基本类型的值是不可改变的,但是fianl定义的引用对象的值是可以改变的,下面举个例子来说明: package DifStaticFinalAndFinal; class SelfCounter { private static int counter; private int id=counter++; public Stri

Java中static final 与 final 的区别(转载)

转自:http://advance0683.iteye.com/blog/1107732 Java中static final 与 final 的区别: 例子: Java代码 import java.util.Random; //这个例子想说明一下static final 与 final的区别 public class StaticAndFinalTest { private static Random rand = new Random(47); //47作为随机种子,为的就是产生随机数. pr

C/C++中inline/static inline/extern inline的区别及使用

引入内联函数的目的是为了解决程序中函数调用的效率问题,也是用内联函数取代带参宏定义(函数传参比宏更加方便易用) inline关键字用来定义一个类的内联函数. 在类体中和类体外定义成员函数是有区别的:在类体中定义的成员函数为内联(inline)函数,在类体外定义的不是.如果你既希望将函数定义在类体外部,又希望它是内联函数,那么可以在声明函数时加 inline 关键字.在类体内部定义的函数也可以加 inline 关键字,但这是多余的,因为类体内部定义的函数默认就是内联函数.如果在类体外定义 inli

CSS中display属性:block、inline和inline-block的区别

最近写HTML遇到一个问题:我想设置span的宽度和高度,但是在IE9和chrome下总是不起效果.代码和效果图如下: <head> <style> span{ background-color:#43be60; width:100px; height:50px; margin-top:20px; margin-left:20px; } </style> </head> <body> <div style="background-

display:block、inline、inline-block的区别--2014/11/25

1.它们de概念.理论: 一,块元素(block): 一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素. 常见块元素: div,form,table,p,h1~h6,ul,ol,dl,li等等. 特点:1)总是在新行上开始: 2)高度,行高以及顶和底边距都可控制: 3)宽度默认是它的容器的100%,除非设定一个宽度. 二,内联元素(inline): 一般都是基于语义级(semantic)的基本元素.内联元素只能容纳文本或者其他内联元素.(别称:内嵌元素.行内元素)