linux静态库和动态库

嵌入式必备工具 CMake 的使用套路!

大家好,我是杂烩君。今天,我们就通过一个简单的Linux C 语言实战案例,带你深度剖析嵌入式 CMake 的核心套路。使用 CMake 的好处平台无关性:一套配置文件,适配 ARM、x86 等多种架构。模块化管理:轻松分离驱动层、库和应用程序,代码结构一目了然。自动化构建:从编译、链接到生成固件,一条make命令搞定。CMake例子我们的例子包含三个核心模 …

C语言内存分布(内核区、堆栈区等)

C语言内存分布(内核、变量,堆栈等) 内核区是提供给操作系统使用的。栈区是给局部变量使用的,局部变量是函数内定义的变量,包括函数系数;程序调用时把局部变量存的数据压入栈,程序退出时把局部变量存的数据弹出栈,压栈-栈指针指向此次所压数据的最底端;出栈-栈指针指向此次所压数据的最顶端,栈区向下增长即数据随着压栈往下存储(如图2所示)。局部变量的作用范围是函数调 …

C/C++动态库的跨平台符号隐藏_c++跨平台图形库

先抛出一个问题:我们如何使用一个动态库? 答案是:通过动态库的接口函数引用。那么,问题又来了:我们为什么,可以引用这些函数,动态库里只有这几个函数吗?显然不是(优秀的开发者不会这样做),这就涉及到动态库的符号隐藏,也是本文探讨的问题。什么是符号隐藏?符号隐藏可以理解为程序的封装特性。在面向对象开发中,通过private设定方法和成员函数,对类外函数不可见(隐 …

一个轻量级通用环缓冲区管理库!_环形缓冲区的基本原理

1. 为什么需要环形缓冲区?在嵌入式开发中,我们经常遇到这样的场景:串口接收数据、传感器采集、网络数据包处理...这些都涉及到一个核心问题——如何高效地管理有限内存中的数据流?例如,开发一个物联网设备,需要处理源源不断的传感器数据。传统的数组缓冲区就像一个装满水的杯子,倒满了就得全部倒掉重新开始,这显然不够优雅。而环形缓冲区就像一个永不停歇的水车,数据可以持 …

快速搞懂.Net单文件部署_net文件夹

dotNET跨平台2025-08-28 08:02:32什么单文件部署 通过将所有依赖应用程序的文件捆绑到一个二进制文件中,为应用程序开发人员提供一个具有吸引力的选项,那就是将应用程序作为单个文件进行部署和分发。 单文件部署可用于依赖框架的部署模型和独立应用程序。独立应用程序中单个文件的大小很大,因为它包含运行时和框架库。 在 .NET 6 中,可以通过发布 …

  • 1