windows的远程桌面连接docker 1.:您的Docker容器需要安装和运行远程桌面服务。通常,远程桌面服务在Windows操作系统上可用。如果您使用的是Linux容器,则需要安装一个支持RDP协议的桌面环境和RDP服务器。2.:通常,远程桌面协议(RDP)使用端口3389。您需要确保在启动Docker容器时,将该端口映射到主机。
Linux下使用lookbusy加载cpu负载 Lookbusy 是一个用于在 Linux 系统上生成合成负载的简单应用程序。它可以在 CPU 上生成固定的、可预测的负载,保持选定数量的内存处于活动状态,并生成您需要的任意数量的磁盘流量。
解决ROS2 humble版本源码编译中resdep init及rosdep update失败的问题 超时的原因主要是从国外的服务器下载东西,因此可以采用github添加代理的方式来解决。找到34行,修改FUERTE_GBPDISTRO_URL 的地址, 在原网址上添加“找到64行,修改DEFAULT_SOURCES_LIST_URL, 在原网址上添加“找到36行,修改REP3_TARGETS_URL,在原网址上添加“将获取到的ip添加到该文件下即可。找到119行, 在原网址上添加“找到202行, 在原网址上添加“找到68行, 在原网址上添加“找到68行,在原网址上添加“采用了一下方法顺利解决了。
hiredis中使用空格 cli中使用sadd key data1 data2的时候,查询到的是两个数据,有时候我们需要data1和data2为一个数据,比如 sadd key "hello world",在命令中使用双引号将hello world包起来即可,但是在c++调用的hiredis接口的时候却实现不了。
Linux用backtrace定位分析段错误 Linux c/c++开发环境下,可以使用以下函数来获取进程调用的堆栈信息#include <execinfo.h>int backtrace(void **buffer, int size);该函数用于获取当前线程的调用堆栈,获取的信息将会被存放在buffer中,它是一个指针列表。参数 size 用来指定buffer中可以保存多少个void* 元素。函数返回值是实际获取的指针个数,最大不超过size大小,为了取得全部的函数调用列表,应保证buffer和size足够大。
Ubuntu18.04 Sublime Text3 安装sudo dpkg -i sublime-text_build-3211_amd64.deb 卸载sudo dpkg -r sublime-text插件基本功能:ClangAutoCompleteChineseLocalizationsFileHeaderSideBarEnhancementsConvertToUTF8主题:FlatlandMaterial屏蔽自动更新sudo vi /etc/hosts打开后添加下面几行 # s
Ubuntu生成core文件 永久设置ulimitsudo vim /etc/security/limits.conf增加以下内容后重启即可 * soft core unlimited * hard core unlimited生成core并设定位置echo那个指令是临时修改的,重启后又没了sudo bash -c 'echo "/data/core_file/%t.%e.core.%p"
c++总结(2) 1、initializer_listauto i = {1, 2, 3, 4};cout << typeid(i).name()<<endl;//输出//class std::initializer_list<int>c++11中的vector<int> vec{1,2,3};就是使用了initializer_list,可变参数也是使用的initializer_list。initializer_list最常用的方式是通过大括号包围的值列表对其
c++总结(1) 1、C++中NULL和nullptr的区别c++语言中NULL的定义如下#ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif#endif即C++中NULL为0,C中NULL 为(void*)0;c++下有重载机制,如下代码#include <stdio.h>#include <stdlib.h
sort和priority_queue比较函数的区别 两者第三个参数比较函数的区别是相反的。两者默认的都是less1、less情况sort排序是从小到大 priority_queue是大顶堆,即从大到小2、greater情况sort排序是从大到小 priority_queue是小顶堆,即从小到大3、自定义同样的仿函数,sort和priority_queue也是相反的struct MyStruct{ int data; MyStruct(int val) { data = val; }};struct cmp {
linux vscode c++调试 基础介绍linux下用vscode调试c++程序时,会在工作区的.vscode文件中遇到launch.json和tasks.json,作用分别如下:1、lauch.json负责的是启动任务,执行文件(可执行文件)2、tasks.json负责的是配置相关任务。简单来说就是负责编译链接生成可执行文件,其实就是执行终端的编译指令[g++ -g main.cpp -o main.o]。所以在执行launch.json文件之前必须先执行tasks.json3、launch.json和tasks.js
CMakeLists.txt语法介绍 一、常用命令1.指定最小版本//设置cmake需要的最低版本号cmake_minimum_required(VERSION 3.6)2.设置项目名称//生成test.sln的工程名称project(test)3.基本指令//生成可执行程序add_executable(test, main.cpp)//生成静态库add_library(libstatic STATIC libstatic.cpp)//生成动态库add_library(dlldemo SHARED
C++设计模式(14)——外观模式 动机(Motivation) 客户和组件中各种复杂的子系统有过多的耦合 如何简化外部客户程序和系统间的交互接口?如何解耦? 模式定义为子系统中的一组接口提供一个一致(稳定)的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用(复用)。 ——《设计模式》GoF要点总结 从客户程序角度来看,Façade模式简化了整个组件系统的接口,对于组件内部与外部的客户程序来说, 达到了一种”解耦“的效果——内部子系统的任何变化不会影响到Façade接口的变化。
C++设计模式(13)——状态模式 动机(Motivation) 对象状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同。 如何在运行时根据对象的状态来透明地改变对象的行为? 模式定义允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。 ——《设计模式》GoF要点总结 State模式将所有与一个特定状态相关的行为都放入一个State的子对象中,在对象状态切换时,切换相应的对象; 但同时维持State的接口,这样实现了具体操作与
C++设计模式(12)——原型模式 动机(motivation) 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。 如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”,从而使得依赖这些”易变对象“的客户程序不随着需求改变而改变。 模式定义使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF要点总结 Prototype模式同样用于隔离对象的使用者和具体类