- 博客(109)
- 资源 (2)
- 收藏
- 关注
原创 git总是鉴权失败的解决办法
该密码并不是gerrit的登录密码,而是“Settings --> HTTP Password --> Generate Password”的密码。git clone或者git cherry-pick总是报。最后储存凭证,以后就不需要再输入密码了。(用户名和密码没问题)
2024-07-12 17:49:13
1568
2
原创 取消lfs, 使用原始文件上传的办法
搜索本地.gitattributes文件,取消文件的lfs配置。查询当前仓库使用lfs的文件,然后删除。删除lfs文件后,提交commit。重新添加原始文件,进行提交。
2024-07-01 14:01:28
1251
原创 安裝了windows,Ubuntu双系統,windows系統时间不对的修正方法
在電腦上安裝雙系統(如 Windows 和 Ubuntu)時,系統時間不同步的問題通常是由於這兩個操作系統處理系統時間的方式不同而引起的。
2024-06-17 16:27:23
4179
2
原创 getcap提权后,无法生效引用动态库的解决办法
getcap提权后,无法生效引用动态库的解决办法,error loading shared libraries: libxxx.so : cannot open shared object file: No such file or directory
2024-03-29 16:22:00
403
原创 module “QtQuick.Studio.Effects“ is not installed解决办法
module "QtQuick.Studio.Effects" is not installed解决的办法
2023-06-16 14:09:30
1579
原创 git push报错 [remote rejected] HEAD (no new changes) error
将开发分支merge到release分支后,push报错:git push origin HEAD:refs/for/gac-release%topic="merge_v4.3.1_to_release"Total 0 (delta 0), reused 0 (delta 0)remote: Processing changes: refs: 1, done To ssh://gerrit.xxxxxxxx.com/projectname! [remote rejected] HEAD -...
2022-05-04 22:12:41
3285
原创 ubuntu无法设置亮度,触摸板失效,声音无法调节
问题现象新装的ubtutu18.04无法设置亮度,触摸板无法移动和点击,声音也无法在键盘上调节,更新系统软件也无法解决问题。原因折腾一顿后,发现是内核版本与显卡驱动导致。解决办法查看自己电脑的内核uname -r5.4.0-42-generic查看当前的内核信息dpkg --get-selections| grep linuxazheng@ubuntu:~$ dpkg --get-selections| grep linuxbinutils-x86-
2022-03-15 22:36:28
1624
原创 CM开发指南:概述
CM开发指南:概述概述基本概念基本原理启动运行重启/关闭概述 AUTOSAR AP平台(Adaptive Platform)作为自动驾驶应用的运行时环境,包括通信管理、执行管理、平台健康管理等功能,其中执行管理(Execution Management)模块,简称EM,其主要功能是对AP平台和应用程序进行生命周期管理,包括启动、关闭、重启以及解决进程依赖等。基本概念 熟悉如下概念有助于您更快了解EM。概念描述Application应用程序,一组相关功能需求的集合,包含一个
2022-01-27 19:51:20
1493
原创 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.12‘ not found解决办法
version `Qt_5.12‘ not found的解决办法
2021-12-27 15:23:24
9440
3
原创 c++使用unordered_map与map的区别
c++使用unordered_map与map的区别内部实现机理map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行这样的操作,故红黑树的效率决定了map的效率。unordered_map: unordered_map内部实现了一个哈希表,因此其元素的排列顺序是杂乱的,无序的[缺点以及适用处]map优点:有序性,这是map结构
2021-04-27 15:37:20
186
原创 std::atomic_thread_fence
在原子变量的存取上应用不同的memory order可以实现不同的内存序来达到数据同步的目的,而在C++ 11及之后的标准里,除了利用原子操作指定内存序,还定义了单独使用“内存栅栏”(std::atomic_thread_fence)的方式,fence可以和原子操作组合进行同步,也可以fence之间进行同步,fence不光可以不依赖原子操作进行同步,而且相比较于同样memory order的原子操作,具有更强的内存同步效果,下面就结合实例来介绍下c++里和fence相关的同步手段。无论是纯粹基于原子...
2021-04-25 14:11:44
5360
1
原创 std::kill_dependency
在C++11内存模型,有时不想为携带依赖增加其他的开销,想让编译器在寄存器中缓存这些值,以及优化重排操作代码,这种情况下可以使用std::kill_dependency()显式打破依赖链。std::kill_dependency()是一个简单的函数模板,其会复制提供的参数给返回值,但是依旧会打破依赖链。它从显示没有std::kill_dependency()的代码开始。这里,第一行向第二行中携带依赖性,其将依赖性携带到索引操作中,然后将依赖性携带到do_something_with函数中。r
2021-04-25 11:25:18
416
翻译 5.3.2 先行发生
5.3.2 先行发生“先行发生”关系是一个程序中,基本构建块的操作顺序: 它指定了某个操作去影响另一个操作。对于单线程来说,就简单了:当一个操作排在另一个之后,那么这个操作就是先行执行 的。这意味着,如果源码中操作A发生在操作B之前,那么A就先行与B发生。你可以回看清单 5.2:对data的写入③先于对data_ready④的写入。如果操作在同时发生,因为操作间无序执行,通常情况下,它们就没有先行关系了。这就是另一种排序未被指定的情况。下面的程序会输出“1,2”或“2,1”,因为两个get_num()的
2021-04-22 17:12:45
191
翻译 5.3.1 同步发生
5.3.1 同步发生“同步发生”关系是指:只能在原子类型之间进行的操作。例如对一个数据结构进行操作(对互斥量上锁),如果数据结构包含有原子类型,并且操作内部执行了一定的原子操作,那么这些操作就是同步发生关系。从根本上说,这种关系只能来源于对原子类型的操作。“同步发生”的基本想法是:在变量x进行适当标记的原子写操作W,同步与对x进行适当标记的 原子读操作,读取的是W操作写入的内容;或是在W之后,同一线程上的原子写操作对x写入 的值;亦或是任意线程对x的一系列原子读-改-写操作(例如,fetch_add
2021-04-22 17:06:13
205
翻译 5.3 同步操作和强制排序
5.3 同步操作和强制排序假设你有两个线程,一个向数据结构中填充数据,另一个读取数据结构中的数据。为了避免恶性条件竞争,第一个线程设置一个标志,用来表明数据已经准备就绪,并且第二个线程在这个标志设置前不能读取数据。下面的程序清单就是这样的情况。清单5.2 不同线程对数据的读写#include <vector>#include <atomic>#include <iostream>#include <chrono>#include <
2021-04-22 17:02:32
218
翻译 5.2.7 原子操作的释放函数
5.2.7 原子操作的释放函数直到现在,我都还没有去描述成员函数对原子类型操作的形式。但是,在不同的原子类型中 也有等价的非成员函数存在。大多数非成员函数的命名与对应成员函数有关,但是需 要“atomic_”作为前缀(比如,std::atomic_load() )。这些函数都会被不同的原子类型所重载。 在指定一个内存序列标签时,他们会分成两种:一种没有标签,另一种将“_explicit”作为后缀,并且需要一个额外的参数,或将内存顺序作为标签,亦或只有标签(例如,std::atomic_store(&am
2021-04-22 16:59:29
1213
翻译 5.2.6 std::atomic<>主要类的模板
5.2.6 std::atomic<>主要类的模板主模板的存在,在除了标准原子类型之外,允许用户使用自定义类型创建一个原子变量。不 是任何自定义类型都可以使用std::atomic<> 的:需要满足一定的标准才行。为了使用 std::atomic<UDT> (UDT是用户定义类型),这个类型必须有拷贝赋值运算符。这就意味着这个类型不能有任何虚函数或虚基类,以及必须使用编译器创建的拷贝赋值操作。不仅仅是这 些,自定义类型中所有的基类和非静态数据成员也都需要支持拷贝赋值操
2021-04-22 16:58:21
952
翻译 5.2.5 标准的原子整型的相关操作
5.2.5 标准的原子整型的相关操作如同普通的操作集合一样(load(), store(), exchange(), compare_exchange_weak(), 和 compare_exchange_strong()),在 std::atomic<int> 和 std::atomic<unsigned long long> 也 是有一套完整的操作可以供使用:fetch_add(), fetch_sub(), fetch_and(), fetch_or(), fetch_xo
2021-04-22 16:57:18
176
翻译 5.2.4 std::atomic:指针运算
5.2.4 std::atomic:指针运算原子指针类型,可以使用内置类型或自定义类型T,通过特化 std::atomic<T*> 进行定义,就 如同使用bool类型定义 std::atomic<bool> 类型一样。虽然接口几乎一致,但是它的操作是对于相关的类型的指针,而非bool值本身。就像 std::atomic<bool> ,虽然它既不能拷贝构造,也不能拷贝赋值,但是他可以通过合适的类型指针进行构造和赋值。如同成员函数 is_lock_free()一样,std
2021-04-22 16:56:00
2092
翻译 5.2.3 std::atomic的相关操作
5.2.3 std::atomic的相关操作最基本的原子整型类型就是 std::atomic<bool> 。如你所料,它有着比 std::atomic_flag更加齐全的布尔标志特性。虽然它依旧不能拷贝构造和拷贝赋值,但是你可以使用一个非原子的bool类型构造它,所以它可以被初始化为true或false,并且你也可以从一个非原子bool变量赋值给 std::atomic<bool> 的实例:std::atomic<bool> b(true);b = false
2021-04-22 16:28:03
5827
翻译 5.2.2 std::atomic_flag的相关操作
5.2.2 std::atomic_flag的相关操作std::atomic_flag 是最简单的标准原子类型,它表示了一个布尔标志。这个类型的对象可以在两个状态间切换:设置和清除。它就是那么的简单,只作为一个构建块存在。我从未期待这个类型被使用,除非在十分特别的情况下。正因如此,它将作为讨论其他原子类型的起点,因为它会展示一些原子类型使用的通用策略。std::atomic_flag 类型的对象必须被ATOMIC_FLAG_INIT初始化。初始化标志位是“清除”状态。这里没得选择;这个标志总是初始化
2021-04-22 16:26:04
311
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人