面对的问题 对于线程的栈空间,相信各位小伙伴都不陌生。它有下面的这几项特性: > 1. 由操作系统分配固定的空间; > > 2. 使用一个栈寄存器来保存实时位置; > > 3. 后进先出。 今天,我们不聊操作系统层面对栈的管理,只从应用程序的角度,来看一下如何实时获取栈的使用情况。 在一般的单片机/ Read More
posted @ 2021-05-30 20:46 IOT物联网小镇 Views(1126) Comments(0) Diggs(0)
初次见面 大家好,我是 ELF 文件,大名叫 Executable and Linkable Format。 经常在 Linux 系统中开发的小伙伴们,对于我肯定是再熟悉不过了,特别是那些需要了解编译、链接的家伙们,估计已经把我研究的透透的。 为了结识更多的小伙伴,今天呢,就是我的开放日,我会像洋葱 Read More
posted @ 2021-05-28 08:49 IOT物联网小镇 Views(441) Comments(0) Diggs(0)
非常使用、流行的函数发现机制。 Read More
posted @ 2021-05-22 10:11 IOT物联网小镇 Views(402) Comments(0) Diggs(0)
一、前言 这篇文章,按照下面这 2 张图,来描述 glib 在 Linux 和 Windows 平台上,是如何来进行线程库的设计的。 Linux 平台: Windows 平台: 最近写了几篇关于跨平台的应用程序设计思路,有些小伙伴在后台留言询问关于一些通用的跨平台库,看来这方面的需求还是很多的。 所 Read More
posted @ 2021-05-14 08:29 IOT物联网小镇 Views(609) Comments(0) Diggs(0)
一、前言 在上一篇文章中(使用 cmake 来搭建跨平台的应用程序框架:C语言版本),我们以源代码的形式,演示了利用利用 cmake 这个构建工具,来编译跨平台的动态库、静态库和应用程序。 这篇文章描述的是同样的功能,只不过是用 C++ 来编码,另外,增加了一个小功能:如果在导出的库文件中,使用另一 Read More
posted @ 2021-05-11 14:33 IOT物联网小镇 Views(392) Comments(0) Diggs(0)
一、前言 我们在写应用程序的过程中,经常需要面对一个开发场景:编写跨平台的应用程序。 这种要求对于 Linux 系列的平台来说,还是比较好处理的,大部分情况下只需要换一个交叉编译工具链即可,涉及到硬件平台相关部分再嵌入几个内联汇编。 但是,对于 Windows 平台来说,就稍微麻烦一些。你可能会说, Read More
posted @ 2021-05-11 14:32 IOT物联网小镇 Views(1066) Comments(0) Diggs(1)
在 Linux 代码中,经常可以看到在 C 代码中,嵌入部分汇编代码,这些代码要么是与硬件体系相关的,要么是对性能有关键影响的。 在很久以前,我特别惧怕内嵌汇编代码,直到后来把汇编部分的短板补上之后,才彻底终结这种心理。 也许你在工作中,几乎不会涉及到内嵌汇编代码的工作,但是一旦进入到系统的底层,或 Read More
posted @ 2021-04-27 08:27 IOT物联网小镇 Views(2917) Comments(0) Diggs(2)
对google的 protobuf 序列化工具的关键解析,实现自己的 RPC 框架。 Read More
posted @ 2021-04-25 08:30 IOT物联网小镇 Views(1328) Comments(2) Diggs(2)
一、前言 前几天有同事过来,让我推荐一本 Linux 系统的书籍。 我就问他 2 个问题: 你想学习 Linux 哪一个层次:内核层?驱动层?应用层? 你的目标是什么:是学习 Linux 系统的设计架构?某个模块的驱动开发?还是仅仅想系统学习一下应用程序编程? 最后,给他推荐了下面这本书: 后来我又 Read More
posted @ 2021-04-12 08:25 IOT物联网小镇 Views(961) Comments(2) Diggs(2)
一、前言 计算机最喜欢的数字就是 0 和 1,在 CPU 的世界中,它只认识这两个数字,即使是强大的操作系统,也都是由 0 和 1 组成的。 作为一名软件开发者,入门学习的内容可能就是认识这 2 个既简单、又强大的数字。但是大部分人,对于二进制、二进制计算、原码、反码以及补码的认识,仍处于机械的强制 Read More
posted @ 2021-04-08 09:40 IOT物联网小镇 Views(2910) Comments(3) Diggs(1)