问题描述 假设动态库B依赖动态库A,可执行程序C依赖动态库B。 如下图: 在linux平台下,按照正常来说,在编译C时,只需要链接B就好了。但是使用Cmake编译时,会报找不...
问题描述 假设动态库B依赖动态库A,可执行程序C依赖动态库B。 如下图: 在linux平台下,按照正常来说,在编译C时,只需要链接B就好了。但是使用Cmake编译时,会报找不...
SOME/IP可以在单独使用,也可以结合CommonAPI/SOMEIP使用(更加方便) 依赖项 1、boost AOSP编译见链接 2、CommonAPI 源码,根据CM...
在软件系统总体结构图中,扇入扇出官方解释挺绕人的,常常被绕晕。 扇入:模块的扇入是指有多少个上级模块调用它。扇入越大,表示该模块被更多的上级模块共享。扇入越大,表示该模块被更...
过去十几年CPU一直遵循着摩尔定律发展,单核频率越来越快,但是最近这几年,摩尔定律已然失效,CPU的工艺制程和发热稳定性之间难以取舍,取而代之的策略则是增加核心数量,目前家用...
C++模板提供了一个SFINAE(subsitate failure is not an error)的机制(模板匹配失败不是错误),这是模板里面一个非常有意思的特性,利用这...
参考HTTPS的加密流程|一篇文章读懂HTTPS及其背后的加密原理|HTTPS协议详解|Https加密过程|Https握手过程 HTTPS(全称: Hypertext Tra...
前言 最近看到一些刚接触Flutter的同学在进行页面跳转的时候,出现了这个问题。 代码是这样的 一眼看上去好像没什么问题,解决方式也很简单,把home部分作为一个新的Wid...
在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型、方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可...
作者:Li_Mr 原文:开源中国博客 时至2018年的今天,C++ 在互联网服务端开发方向依然占据着相当大的份额;百度,腾讯,甚至以java为主流开发语言的阿里都在大规模使...
简单来讲,组合是一种较为紧密的关系,从生命周期上看,部分和整体是共存亡的关系。聚合则是一种较为松散的关系,部分和整体的生命周期未必一致。 在实际代码中,组合关系中,部分的实例...
关于C# async/await的一些说明 下文以个人对async/await的理解为基础进行一些说明。 1、自定义的几个关键概念 调用流阻塞:不同于线程阻塞,调用流阻塞只对...
前言 自从C# 5.0时代引入async和await关键字后,异步编程就变得流行起来。尤其在现在的.NET Core时代,甚至如果你的代码中没有出现async或者await关...
讲到线程安全队列之前先说一下线程安全与线程不安全 线程安全:多个线程在执行同一段代码的时候采用加锁机制,使每次的执行结果和单线程执行的结果都是一样的线程不安全:不提供加锁机制...
前言 模板的基础知识模板的类型参数模板的默认参数模板的模板参数模板的特化模板的非类型参数模板的编译期计算数值计算类型计算模板递归 C++模板元编程元函数高阶函数柯理函数(cu...
1. 关于select模型: 上一篇文章写了多线程的echo服务器,使用多线程的好处是同时相应建立连接的客户端和进行通信的客户端。当时这样的缺点是,服务器为每一个连接上来的客...
本文讨论的背景是Linux环境下的network IO。 一、 概念说明 在进行解释之前,首先要说明几个概念: 用户空间和内核空间 进程切换 进程的阻塞 文件描述符 缓存 I...
同步异步与阻塞非阻塞 用户空间和内核空间 操作系统为了支持多个应用同时运行,需要保证不同进程之间相对独立(一个进程的崩溃不会影响其他的进程 , 恶意进程不能直接读取和修改其他...
C++ 11引入了大量非常有用的特性,使代码更直观、安全、简洁、方便。此处列举的仅是一部分较常用的特性,完整的列表还需参考官方文档或者微软的文档:Support For C+...