行业资讯
AI news by Smartone AI
误碰键盘导致代码错误怎么办?
一、前言昨天在编译代码的时候,之前一直OK的一个地方,却突然出现了好几个 Warning!本着强迫症要消灭一切警告的做法,最终定位到:是结构体内部, 指向结构体类型的指针成员变量导致的问题。这个问题,也许永远不会碰到,之所以被我赶上了,应该是因为某个时候手贱, 误碰了键盘导致
如何使用cmake搭建跨平台的应用程序框架?
一、前言我们在写应用程序的过程中,经常需要面对一个开发场景:编写跨平台的应用程序。这种要求对于 Linux 系列的平台来说,还是比较好处理的,大部分情况下只需要换一个交叉编译工具链即可,涉及到硬件平台相关部分再嵌入几个内联汇编
如何利用_Pragma温柔的废弃API?
一、前言想象一下这个工作场景:你在为一个项目写一个功能库,别人调用库中提供的函数,后来你发现库里的函数A是多余的。具有完美情节的你,就是想把这个函数A废弃掉,此时肯定是不能直接删掉,因为你不知道别人在多少个地方调用了这个函数
一个printf(结构体指针)引发的血案
一、前言1. 为什么写这篇文章在上周六,我在公众号里发了一篇文章:C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻,以直白的语言、一目了然的图片来解释指针的底层逻辑,有一位小伙伴对文中的代码进行测试,发现一个比较奇怪的问题
C语言:用纯软件来代替Mutex互斥锁-多线程
一、前言在上一篇文章中,介绍了一种纯软件算法,用来实现临界区的保护功能。首先明确一下:如果利用操作系统提供的互斥锁可以实现我需要的功能,我肯定使用互斥锁,之所以介绍 Peterson 这个算法,主要是因为它比较有意思,很小巧,可以为我们带来一些“规范的”编程之外的一些想法
C语言中如何用纯软件来代替Mutex互斥锁
一、前言二、Peterson 算法简介三、测试代码四、Mutex 互斥锁对代码执行效率的影响五、总结一、前言在 Linux 系统中,当多个线程并行执行时,如果需要访问同一个资源,那么在访问资源的地方,需要使用操作系统为我们提供的同步原语来进行保护
C语言函数传参:指针的指针
这是道哥的第013篇原创前言今天同事问了一个问题:在函数参数中传递指针的指针,很常用的一个场景,重新梳理一下记录于此,以后如果有类似的问题直接发这篇小总结就可以了。代码:版本1 void d
C语言指针底层原理和使用技巧讲解
这是道哥的第014篇原创一、前言二、变量与指针的本质三、指针的几个相关概念四、指向不同数据类型的指针五、总结一、前言如果问C语言中最重要、威力最大的概念是什么,答案必将是指针!威力大,意味着使用方便、高效,同时也意味着语法复杂、容易出错
C指针:8 个关于指针的用法
一、前言二、八个示例 1. 修改主调函数中的数据 2. 在被调用函数中,分配系统资源 3. 传递函数指针  
利用C语言中的setjmp实现异常捕获和协程
这是道哥的第 017 篇原创一、前言二、函数语法介绍与 goto 语句比较与 fork 函数比较与 Python 语言中的 yield/resume 比较三、利用 setjmp/longjmp 实现异