C/C++
文章平均质量分 69
介绍C和C++相关知识
嵌入式与Linux那些事
这个作者很懒,什么都没留下…
展开
-
【C语言】内联函数总结
inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。这样调用函数的过程就可以直接执行函数代码,而不发生跳转、压栈等一般性函数操作。可以节省时间,也会提高程序的执行速度。内联函数相比宏函数,会进行语法检查。宏函数是在预处理阶段生效,内联函数是在编译阶段进行语法检查然后替换。内联函数相比普通函数,少了上下文切换的步骤所以执行会更快一些。内联函数被多次调用,会使固件大小膨胀,内联函数的高速是以空间来换时间。内联函数不可递归。原创 2024-02-03 22:18:59 · 1583 阅读 · 0 评论 -
一道C语言改错题
下午,在上班,读者发来一道题目,问我怎么做。不过,上网查了下,这种用法有时候也可以输出正确的结果,但不建议大家这么用。的效果是一样的,但平常为什么不见printf§这种看起来很简洁的形式呢?支持可变参数,所以后续变量的个数就需要通过str中的格式化串来确定。就会去栈中找这个格式化串对应的变量,但实际上,根本没有向。压入更多的参数,因此就会出现打印失败或者程序崩溃的现象。过了一会,他说查不到,问了群里,大家也不太会。好吧,起码这位读者自己思考过,也问过了。题目如下,找出代码中错误的地方,并改正。原创 2022-10-31 22:10:06 · 1673 阅读 · 0 评论 -
intptr_t 和 uintptr_t类型使用总结
这两个数据类型是ISO C99定义的,具体代码在linux平台的头文件中。# endif==# endif64# endif为什么会根据不同的位数定义不同的长度呢?先看下不同的数据类型在不同字长机器上长度大小。位数charshortintlong指针161个字节8位2个字节16位2个字节16位4个字节32位2个字节16位321个字节8位2个字节16位4个字节32位4个字节32位4个字节32位64。...原创 2022-08-08 18:00:00 · 4222 阅读 · 0 评论 -
不同类型数据运算的总结
前几天在群里,有个小伙伴问了一个问题,是关于有符号整数和无符号字符数的比较的问题。当时不是很明白无符号数是如何和整型数比较的,在查阅了相关资料后做个总结。原创 2020-11-30 23:29:07 · 2184 阅读 · 0 评论