上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 61 下一页
摘要: 静态库是在链接阶段被链接的,所以生成的可执行文件就不受库的影响,即使库被删除,程序依然可以成功运行。 而依赖动态库的程序其实也有链接动态库的阶段,只不过这个链接并不是真正的将动态库链接到程序中,其目的是告诉程序,所依赖的到底是哪个动态库。 静态库有点类似于将静态库复制到程序中,而动态库是在程序中创建 阅读全文
posted @ 2022-11-17 13:54 opensmarty 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 在编译动态库的时候,我们应该需要使用-fpic 或-fPIC参数。 pic 与PIC的异同 相同点:都是为了在动态库中生成位置无关的代码。通过全局偏移表(GOT)访问所有常量地址。程序启动时动态加载程序解析GOT条目。 不同点:如果链接的可执行文件的GOT大小超过计算机特定的最大大小,则会从链接器收 阅读全文
posted @ 2022-11-17 13:44 opensmarty 阅读(182) 评论(0) 推荐(0) 编辑
摘要: gcc 生成 .a静态库和 .so动态库 我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本 阅读全文
posted @ 2022-11-17 11:06 opensmarty 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 现在规定一下头文件书写规范, 根据陈皓编写的跟我一起些makefile,一定要记住:头文件中应该只是声明,而定义应该放在C/C++文件中。否则如果出现有定义,比如头文件中有int a =2;如果有多个源程序文件引用该头文件,那么在链接的时候就会出现重复定义,即使在头文件的首尾添加#ifnef,#de 阅读全文
posted @ 2022-11-17 10:24 opensmarty 阅读(101) 评论(0) 推荐(0) 编辑
摘要: // 为什么需要熔断 微服务集群中,每个应用基本都会依赖一定数量的外部服务。有可能随时都会遇到网络连接缓慢,超时,依赖服务过载,服务不可用的情况,在高并发场景下如果此时调用方不做任何处理,继续持续请求故障服务的话很容易引起整个微服务集群雪崩。比如高并发场景的用户订单服务,一般需要依赖一下服务: 商品 阅读全文
posted @ 2022-11-17 10:07 opensmarty 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 前言 之前我曾经写过几个JSON解析库的使用方法: Qt平台下使用QJson解析和构建JSON字符串 使用cJSON库解析JSON 使用cJSON库构建JSON 对于嵌入式开发,比较常用的就是cJSON解析库了,但是使用这个库对内存开销比较大,需要大量使用malloc和free进行动态内存分配和释放 阅读全文
posted @ 2022-11-03 09:56 opensmarty 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 安装配置序列化与反序列化生成Json解析Json Jansson是一个用于解码、编码、操控JSON的C库: 简单直观的API和数据模型 没有依赖项 完整的Unicode支持(UTF-8) 安装 要使用Jansson,则需要先安装: 下载jansson(http://www.digip.org/jan 阅读全文
posted @ 2022-11-03 09:49 opensmarty 阅读(405) 评论(0) 推荐(0) 编辑
摘要: Jansson是用于编码,解码和生成JSON数据的C语言库。它的特性: 简单直观的API和数据模型 全面的文档 不依赖其他库 全面支持Unicode(UTF-8) 大量测试套件 0.下载jansson https://github.com/akheron/jansson/releases 1.安装j 阅读全文
posted @ 2022-11-03 09:45 opensmarty 阅读(922) 评论(0) 推荐(0) 编辑
摘要: janus中的plugin是其非常重要的一部分内容,今天我们就来对这块内容做一下分析,看看janus是如何实现plugin的,以及它的工作原理是怎样的。 janus的架构模型 janus的最大特色就是可以以插件的方式对业务模块进行管理。比如当你想实现新业务时,按照janus Plugin的要求写一个 阅读全文
posted @ 2022-11-02 19:37 opensmarty 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 当屏蔽掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围,当被注释掉的代码很大时容易出现这种情况,特别是过一段时间后又修改该处代码时更是如此。 一、1. 情况1: #ifdef _ 阅读全文
posted @ 2022-11-02 18:43 opensmarty 阅读(234) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 61 下一页