10 2022 档案
摘要:Ubuntu下如何查看用户登录及用户操作历史相关信息 在ubuntu下如何查看相关用户登录历史,用户操作历史,进行系统的日志跟踪和分析,以便发现系统登录问题,进行安全策略防护呢? 使用who命令查看当前用户登录状况 ubuntu@ubuntu-xz:~$ who ubuntu-xz pts/3 20
阅读全文
摘要:#include <boost/date_time/posix_time/posix_time_types.hpp> #include <boost/log/trivial.hpp> #include <boost/log/expressions.hpp> #include <boost/log/s
阅读全文
摘要:logger是用户接触最多的类 可分为无保护和线程安全两类,线程安全的以_mt结尾 logger有窄字符和宽字符的,宽字符的以w开头,如wlogger_mt logger类可复制,可创建的,可作为自定义类的成员 boost.log提供多种logger,参见网页 直接使用 如下即可: #include
阅读全文
摘要:很多新手引用Boost库编程,在ubuntu下编译时候有时候会出现如下错误: test04.cpp:(.text+0x2c): undefined reference to `boost::program_options::options_description::m_default_line_le
阅读全文
摘要:#ifndef LOGGER_H #define LOGGER_H #include <stdexcept> #include <string> #include <iostream> #include <fstream> #include <boost/log/common.hpp> #inclu
阅读全文
摘要:概述 Boost库的Log模块用于实现日志,虽然功能强大,但比较复杂,学习起来比较费时。 为此,我将其进行了封装成日志类,以方便日后使用。 该日志类具有多线程安全、可以使用中文字符等优点。 类头文件 #pragma once#include <string>#include <boost/log/s
阅读全文
摘要:这一篇主要补充Windows下WSL(Linux 子系统)创建,以及在WSL和远程Linux系统下编译和调试CMake项目。 Widnows下创建WSL 1. 右键左下角的Windows图标=》应用和功能=》启用或关闭Windows功能 2. 选中“适用于Linux的Windows子系统,确定 3.
阅读全文
摘要:最近正好用到,感觉很好用,所以分享给大家。 1.创建Cmake项目 这里的解决方案和项目的概念和VC++项目的一样,解决方案就是项目的合集,项目是对应每一个静态库,动态库和可执行文件的编译目标。 创建完成: 我建议一定要把上图红框的两个内容看一遍。CMake相关的知识我都会带过,因为内容太多了就很难
阅读全文
摘要:配置SWIG 下载SWIG Download SWIGwww.swig.org/download.html 官网下载最新版本。解压到某个文件夹。比如笔者放在了: D:\PROGRAM\IDE\swigwin-4.0.2 【记住这个地址!下面要用】 PATH配置 Windows快捷搜索“环境变量”,打
阅读全文
摘要:远程登录到服务器,执行dir/ls等命令,一律是: ftp> ls 500 Illegal PORT command. ftp> dir 500 Illegal PORT command. 服务器有问题?上网搜索,很多人都人云亦云,自己都没试用。找了半天,终于找到了一个解决办法。即使用quote/p
阅读全文
摘要:为什么要打包 最简单的答案是,方便软件包管理。想象一下,一个团队可能有很多个人同时开发N个工程,这N个工程包含了无数个不同种类的可执行文件、静态库文件、动态库文件。这无数多个文件最终都需要部署到一台服务器上运行。这样这个服务器的文件系统就会非常凌乱,当需要进行卸载,升级等动作时,极有可能出现各种各样
阅读全文
摘要:说明 我之前习惯了直接Release源代码,然后在目标平台上编译运行的方式,但是有些项目要求将软件打包成安装包的形式发布,所以这里专门学习一下如何使用cpack(因为我现在主要使用cmake来构建项目)将工程打包成安装包和源代码包。 CPack概述 cpack是CMake的一个可执行文件,安装CMa
阅读全文
摘要:deb文件是Linux发行版debian系统的安装包格式,还有像基于debian系统的发行版ubuntu等系统就是使用的deb格式的安装包,我们可以使用dpkg命令进行安装管理这些deb安装包文件。 以ubuntu为例,从官网下载vscode的deb安装包文件,然后进行安装: 1.在文件夹右键“在终
阅读全文
摘要:有时候我们拿到一台设备,因为不是自己的,不清楚是虚拟机还是物理机,那想判断是虚拟机还是物理机怎么办呢?在linux下提供一些命令可查看是物理机还是虚拟机,例如:lscpu、systemd-detect-virt、dmidecode命令等方式。 可以这么想,如果是物理机,这个物理机厂商是什么,如果是虚
阅读全文
摘要:前言 学习Python的人一定知道pip install xxx的作用,但是很少有人会去想背后的东西——pip安装的到底是什么?什么是.whl包?如果哪天我自己想写一个python包,应该怎么做? 一、初探pip安装过程 我们先来看两个pip安装包的过程。第一个是再熟悉不过的NumPy包: $ pi
阅读全文
摘要:1、问题背景 今天要填写一个表格,需要输入系统的安装时间。这谁记得啊,无奈查看了一些系统文件时间。有的是出厂时间,有的是软件更新时间,并没有找到好的标杆。 2、分析解决 上网检索后发现Ubuntu系统并没有明确提出这样的指令与接口。不过我们还是可以通过其它的两个途径获得。 a、安装日志目录时间 这个
阅读全文
摘要:There are many operating systems built on the GNU/Linux code base; these are known as "distributions." Users fondly (or sometimes not so fondly) talk
阅读全文
摘要:如果你用CPython写了一个扩展,然后要打包到wheel中发布,应该如何操作?你搜索网络,不管英文还是中文,得到的都是一知半解的答案。根据官方的粗浅文档,你可能可以很快完成一个wheel包,但和真正的wheel包差了十万八千里。这里主要考虑两个问题:1.包的结构,2.依赖库如何打包。 学习资源 因
阅读全文
摘要:准备工作 部署私有 pip 库需要使用 pypiserver 这个 Python 包。我们建议使用 docker 部署,方便快捷。首先我们到部署的服务器上,创建一个存放配置和包的目录,我的是:/var/www/pypiserver 。 我们使用了 Docker swarm 来部署,参考了这里的配置:
阅读全文
摘要:在这篇博文中,我将讨论如何开始使用Pipenv一个 Python 打包工具。这篇博文遵循 Ubuntu 工作流程,可以在 MacOS 和 Windows 中轻松复制。让我们开始吧。 什么是Pipenv? Pipenv 是 Python 的 Python 打包工具,是对使用Pip、Venv和 requ
阅读全文
摘要:pyo3 官方使用手册: 【点击查看】 maturin 构建使用工具: 【点击查看】 一、前言 安装 pip install maturin 主要有以下三个命令: maturin publish 将 crate 构建到 python 包中并将它们发布到 pypi。 maturin build构建轮子
阅读全文
摘要:1,目录结构 2,代码清单 2.1,utils.h #ifndef __UTILS_H__ #define __UTILS_H__ #include <iostream> class Utils { private: public: static void print(std::string str
阅读全文
摘要:其实,类互相引用是正常的现象,无法避免.怎么办? 吾从网上搜索了半天,发现解决办法限制多,也不利于其他类的使用.于是,吾找到了一个解决办法: 两个类的头文件互相include,然后声明对方. 两个类的头文件,不实现函数(特别是指使用对方的成员). 两个类的代码文件,实现各个函数. 这样,两个类完全是
阅读全文
摘要:有时候在设计数据结构的时候,可能会遇到两个类需要相互引用的情形。比如类A有类型为B的成员,而类B又有类型为A的成员。 那么这种情形下,两个类的设计上需要注意什么呢? 同一文件 尝试方案 将A和B的定义都放在一个文件中,例如: #include <iostream> class A { public:
阅读全文
摘要:在程序员的开发生涯中,读写配置文件必不可少。 配置文件有利于我们灵活配置工程,解决大量重复劳动,也方便调试。 配置文件的格式有很多,最简单的有一行一行的文本,也有像 json、xml、protocol buffer 这样结构化的格式,当然也有 yaml 这种格式。 今天的博文介绍的是如何在 C++
阅读全文
摘要:需要引入cc依赖 Cargo.toml [package] name = "rust-call-c" version = "0.1.0" authors = ["ice <bsqql123@163.com>"] build = "build.rs" [dependencies] libc = "0.
阅读全文
摘要:刚入坑Rust,因为公司项目需求,需要将libjpeg-turbo移植到Rust中,在使用NDK完成交叉编译后,我对着几个库文件不知所措。国内Rust相关的文章太少,无奈只能到github和Stack Overflow上找答案。这篇文章的内容其实是Rust FFI章节的相关知识,在这里做一下总结。
阅读全文
摘要:原因在于版本不统一,之前编译过CMakeLists.txt后,产生了缓存文件CMakeCache.txt, 解决方案:删除CMakeCache.txt文件,解决。 rm -f `find -name CMakeCache.txt`
阅读全文
摘要:Fresh from upgrading from Ubuntu 20.04 to 22.04, the Gnome-control-center (settings) was missing. I could not find anyone who resolved this specific i
阅读全文
摘要:Ubuntu 22.04 LTS 已经发布了,作为系统爱好者,自然第一事件升级。 虚拟机里跑的21.10有图形化界面,可以通过软件更新器直接更新。 那么WSL环境下的Ubuntu该如何升级呢 首先使用命令,这里用的是nano作为编辑器,也可以用vim sudo nano /etc/update-ma
阅读全文
摘要:Ubuntu下完美切换Python版,即设置系统默认的python版本(亲测有效) 前言: 我需要把ubuntu的python环境设置成python3.8,用本博客中介绍的方法亲测有效。 本文转载的博客转载自https://blog.csdn.net/beijiu5854/article/detai
阅读全文