当前位置: 首页 > news >正文

工作日志day02

1.云计算? 相关职位

开源软件和linux起源:

  1. 自由软件之父:理查德.斯托曼
  2. linux之父:林纳斯.本纳第克特.托瓦兹

linux发行版

  1. RHEL:Red Hat Enterprise Linux  红帽linux商业公司
  2. CentOS:Community Enterprise Operating System 社区企业操作系统 免费的商业软件
  3. Ubuntu:桌面应用为主的开源GUN/Linux操作系统
  4. Debian

RHCE:红帽认证工程书

  1. RHCSA:红帽认证系统管理员
  2. RHCE:红帽认证工程师
  3. RHCA:红帽认证架构师

服务器分类:

  1. 塔式服务器
  2. 机架式服务器
  3. 刀片服务器

VMware-真机服务器 

启动分区 交换分区 系统分区

处理Centos7/8系统输入用户名密码后界面卡住故障记录:设置用户名有限制

注销设置的用户-以超级管理员root登录

设置网卡-网络连接

 

 XShell链接虚拟机

一次性创建多个文件touch file{yufeng,a,c}

拍摄快照

 文件管理

cd /到根目录

bin:普通用户使用,二进制 boot:启动 dev:硬件 etc:设备文件 home:用户主目录 root:root用户的HOME  run:临时  sbin:特权

tmp:临时  usr:应用程序  var:日志,邮件

文件类型

- 普通文件(文本文件,二进制文件,压缩文件,电影,图片)

d 目录文件(蓝色)

命令 选项 参数  ls  /        ls -l  /

ctrl+l清屏

yum install tree

touch 路径和名字

mkdir -p  路径文件 :连续创建

cp 源文件路径 目标文件 :复制

table键补齐目录  两次tab键列出所有

cp -r 源文件 目标文件 :是否将源文件夹下的所有都拷贝

cd ~:进入根目录下的root文件夹

 为什么用Cmake?(跨平台)

  1. CMakeLists.txt
  2. 普通用户,cd ~ 相当于cd /home/当前用户名
  3. cd - 返回进入此目录之前所在目录
  4. c++ main.cpp 编译,查看错误
  5. vim main.cpp创建并编辑
  6. ./a.out运行
  7. vim CMakeLists.txt
    PROJECT(HELLO)
    SET(SRC_LIST main.cpp)
    MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR})
    MESSAGE(STATUS "This is SOURCE dir" ${HELLO_SOURCE_DIR})
    ADD_EXECUTABLE(hello ${SRC_LIST})
    ~                                            
  8. cmake .生成Makefile文件
  9. make编译
  10. ./hello可执行文件
  11. rm -rf 文件名
  12. unzip解压文件
     
  13. cmake ../PIX2FACE_SRC_DIR

 语法:

PROJECT关键字可以用来指定工程的名字和支持的语言,默认支持所有语言

PROJECT(HELLO)指定了工程的名字,并且支持所有语言建议

PROJECT(HELLO CXX)指定了工程的名字,并且支持语言是C++

PROJECT(HELLO C CXX)指定了工程的名字,并且支持语言是c和c++

 

该指定隐式定义了两个CMAKE变量

<projectname>_BINARY_DIR,本例中是HELLO_BINARY_DIR

<projectname>_SOURCE_DIR,本例中是HELLO_SOURCE_DIR

MESSAGE关键字就可以直接使用两个变量

SET关键字

用来显示的指定变量的

SET(SRC_LIST main.cpp)SRC_LIST变量就包含了main.cpp

MESSAGE关键字

向终端输出用户自定义的信息

主要包含三种信息:

  • SEND_ERROR,产生错误,生成过程被跳过
  • STATUS,输出前缀为-的信息
  • FALTAL_ERROR,立即终止所有cmake过程

ADD_EXECUTABLE关键字

生成可执行文件

ADD_EXECUTABLE(hello ${SRC_LIST}) 生成的可执行文件是hello,源文件读取变量SRC_LIST中的内容也可以直接写ADD_EXECUTABLE(hello main.cpp)

内部构建和外部构建

  • 上述例子使用的内部构建,他生成的临时文件特别多,不方便清理
  • 外部构建,就会把生成的文件放在build目录下,不会对原文件有任何影响

cmake .. 

让Hello World看起来更像一个工程

  • 为工程添加一个子目录src,用来放置工程源代码
  • 添加一个子目录doc,用来放置这个工程的文档hello.txt
  • 在工程目录添加文本文件 COPYRIGHT,README
  • 在工程目录添加一个runhello.sh脚本,用来调用hello二进制
  • 将构建后的目标文件放入构建目录的bin子目录
  • 将doc目录的内容以及COPYRIGHT/README安装到、usr/share/doc/cmake/

 

 echo "">CMakeLists.txt:清除文件内容

cat CMakeLists.txt:查看文件内容

 

 安装:

  •  一种是从代码编译后直接make install安装
  • 一种是打包时的指定目录安装

简单的可以这样指定目录:make install DESTDIR=/tmp/test

稍微复杂一点的可以这样指定:./configure-prefix=/usr

如何安装HelloWorld

使用CMAKE一个新的指令:INSTALL

INSTALL的安装可以包括:二进制,动态库,静态库以及文件,目录,脚本等

使用CMAKE一个新的变量:CMAKE_INSTALL_PREFIX

project(hello)
add_subdirectory(src bin)
install(FILES COPYRIGHT README DESTINATION share/doc/cmake/)
install(PROGRAMS runhello.sh DESTINATION bin)
install(DIRECTORY doc/  DESTINATION share/doc/cmake/)

FILES:文件

DESTINATION:

  1. 写绝对路径
  2. 可以写相对路径,相对路径的实际路径是:${CMAKE_INSTALL_PREFIX}/<DESTINATION 定义路径>   

          CMAKE_INSTALL_PREFIX 默认实在 /usr/local/

           cmake-DCMAKE_INSTALL_PREFIX=/usr  在cmake的时候指定CMAKE_INSTALL_PREFIX的路径

 静态库和动态库的构建

任务:

  • 建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,hellofunc向终端输出Hello World字符串
  • 安装头文件和共享库

静态库和动态库的区别

  • 静态库的扩展名一般为”.a“或”.lib“动态库的扩展名一般为”.so“或”.dll“
  • 静态库在编译时会直接整合到目标程序中,编译成功的可执行文件可独立运行
  • 动态库在编译时不会放到连接的目标程序中,即可执行文件无法单独运行

构建实力:

 

project(hello)
add_subdirectory(lib bin)

lib下

SET(LIBHELLO_SRC hello.cpp)
ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})                                                                            

 ADD_LIBRARY

ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) 

hello :就是正常的库名,生成的名字前面会加上lib,最终产生的文件是libhello.so

SHARED,动态库 STATIC,静态库

${...} 源文件

相关文章:

工作日志day02

1.云计算&#xff1f; 相关职位 开源软件和linux起源&#xff1a; 自由软件之父&#xff1a;理查德.斯托曼linux之父&#xff1a;林纳斯.本纳第克特.托瓦兹linux发行版 RHEL&#xff1a;Red Hat Enterprise Linux 红帽linux商业公司CentOS:Community Enterprise Operating Sys…...

C++Primer16.1.6节练习

练习16.28&#xff1a; 简易的shared_ptr代码如下 #include <iostream> #include <vector> #include <list> using namespace std;//shared_ptr模板 template<typename T>class SharedPtr {friend SharedPtr<T>& MakeShared(T* t); public…...

初尝并行编程

进程被分为后台进程和应用进程 大部分后台进程在系统开始运行时被操作系统启动&#xff0c;完成操作系统的基础服务功能。大部分应用进程由用户启动&#xff0c;完成用户所需的具体应用功能 进程由程序段、数据段、进程控制块三部分组成 程序段也被称为是代码段&#xff0c;…...

keepalived学习记录:对其vip漂移过程采用gdb跟踪

对其vip漂移过程采用gdb跟踪keepalived工具主要功能产生vip漂移过程两种情况gdb调试常用命令gdb调试时打到的函数栈&#xff08;供学习参考&#xff09;函数栈的图是本人理解下画的&#xff0c;不对请多指正 keepalived主要有三个进程&#xff0c;父进程是core进程&#xff0c;…...

51单片机串口通讯原理及程序源码-----day8

51单片机串口通讯原理及程序源码-----day8 1.定义单片机为TTL电平&#xff1a;高 5V 低 0V RS232电平&#xff1a; 计算机的串口高 -12V 低12V 所以计算机与单片机之间通讯时需要加电平转换芯片CH340T 、 MAX232。 2.通信分类&#xff1a; &#xff08;1&#xff09;并行通信通…...

mongodb入门到使用(下)

mongodb中常用命令操作一、用户操作二、创建用户三、数据库操作基本操作四、扩展操作五、集合操作一、用户操作 在mongo中使用mongodb都需要在admin数据库中操作。然后在使用下面的命令 use admin二、创建用户 db.createUser({"user":"imooc", #用户名&q…...

云HIS系统源码 医院his源码 云his源码

大型医院his系统源码 SaaS运维平台多医院入驻强大的电子病历完整文档 &#xff0c;有演示 一、系统概述&#xff1a; 基层卫生健康云是一款满足基层医疗机构各类业务需要的健康云产品。该产品能帮助基层医疗机构完成日常各类业务&#xff0c;提供病患挂号支持、病患问诊、电子…...

朴素贝叶斯法学习笔记

频率派和贝叶斯派 频率派认为可以通过大量实验&#xff0c;从样本推断总体。比如假定总体服从均值为μ\muμ&#xff0c;方差为σ\sigmaσ的分布。根据中心极限定理&#xff0c;是可以通过抽样估算总体的参数的&#xff0c;而且抽样次数越多&#xff0c;对总体的估计就越准确。…...

vscode与C++安装与使用【不好用来骂我】

网上教程很多&#xff0c;但是都不太好用&#xff0c;这是我垃圾堆里淘金淘出来的教程&#xff1a; 安装软件 安装 Visual Studio Code: 你需要下载并安装 Visual Studio Code&#xff0c;可以在官网下载 https://code.visualstudio.com/download。 安装 C 扩展: 在 Visual S…...

C++11使用多线程(线程池)计算相似度实现性能优化

需求&#xff1a;图像识别中&#xff0c;注册的样本多了会影响计算速度&#xff0c;成为性能瓶颈&#xff0c;其中一个优化方法就是使用多线程。例如&#xff0c;注册了了3000个特征&#xff0c;每个特征4096个float。可以把3000个特征比对放到4个线程中进行计算&#xff0c;然…...

【测绘程序设计】——平面坐标转换

测绘工程中经常遇到平面坐标转换——比如,北京54(或西安80)平面坐标转换成CGCS2000平面坐标、工程独立坐标系平面坐标转换成CGCS2000平面坐标等,常用转换模型包括:①三参数法(2平移+1旋转);②四参数法(赫尔默特法,2平移+1旋转+1尺度);③六参数法(仿射变换法,2平移…...

五子棋的设计与实现

术&#xff1a;Java等摘要&#xff1a;五子棋是一种两人对弈的纯策略型棋类游戏&#xff0c;非常容易上手&#xff0c;老少皆宜。为了更好的推广五子棋&#xff0c;研究简单的人工智能方式&#xff0c;运用Java开发五子棋游戏。主要包含了人机对战&#xff0c;棋盘初始化&#…...

大数据项目软硬件选择

目录 一.技术选型 二.系统数据流程设计 三.框架版本选型 如何选择Apache/CDH/HDP版本...

redis数据结构的适用场景分析

1、String 类型的内存空间消耗问题&#xff0c;以及选择节省内存开销的数据类型的解决方案。 为什么 String 类型内存开销大&#xff1f; 图片 ID 和图片存储对象 ID 都是 10 位数&#xff0c;我们可以用两个 8 字节的 Long 类型表示这两个 ID。因为 8 字节的 Long 类型最大可以…...

同步、异步、全双工、半双工的区别

1、通讯 1.1 并行通讯 定义&#xff1a;一条信息的各位数据被同时传送的通讯方式称为并行通讯&#xff1b; 特点&#xff1a; 各个数据位同时发送&#xff0c;传送速度快、效率高&#xff0c;但有多少数据位就需要多少根数据线&#xff0c;因此传送成本高&#xff0c;并且只…...

ClickHouse 与 Amazon S3 结合?一起来探索其中奥秘

目录ClickHouse 简介ClickHouse 与对象存储ClickHouse 与 S3 结合的三种方法示例参考架构小结参考资料ClickHouse 简介ClickHouse 是一种快速的、开源的、用于联机分析&#xff08;OLAP&#xff09;的列式数据库管理系统&#xff08;DBMS&#xff09;&#xff0c;由俄罗斯的Yan…...

【Spark分布式内存计算框架——Structured Streaming】1. Structured Streaming 概述

前言 Apache Spark在2016年的时候启动了Structured Streaming项目&#xff0c;一个基于Spark SQL的全新流计算引擎Structured Streaming&#xff0c;让用户像编写批处理程序一样简单地编写高性能的流处理程序。 Structured Streaming并不是对Spark Streaming的简单改进&#xf…...

【Windows】【Linux】---- Java证书导入

问题&#xff1a; PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 无法找到请求目标的有效证书路径 一、Windows—java证书导入 1、下载证书到本地&#xff08;以下…...

【Linux学习】菜鸟入门——gcc与g++简要使用

一、gcc/g gcc/g是编译器&#xff0c;gcc是GCC(GUN Compiler Collection&#xff0c;GUN编译器集合)中的C编译器&#xff1b;g是GCC中的C编译器。使用g编译文件时会自动链接STL标准库&#xff0c;而gcc不会自动链接STL标准库。下面简单介绍一下Linux环境下&#xff08;Windows差…...

Cadence Allegro 导出Bill of Material Report详解

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,Assigned Functions Report作用3,Assigned Functions Report示例4,Assigned Functions Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频...

本地代码解释器:基于LLM与Docker沙箱的AI编程助手实现

1. 项目概述&#xff1a;一个本地化的代码解释器最近在GitHub上看到一个挺有意思的项目&#xff0c;叫Allen091080/local-code-interpreter。光看名字&#xff0c;很多开发者可能就会心一笑&#xff0c;这不就是想在本地复现类似ChatGPT Code Interpreter那种“对话式代码执行”…...

从Siri上车看车载语音交互:技术演进、产业融合与安全设计

1. 项目概述&#xff1a;当Siri首次驶入驾驶舱2012年洛杉矶国际车展上的一则新闻&#xff0c;在当时的汽车与科技圈激起了不小的涟漪。通用汽车宣布&#xff0c;其旗下的雪佛兰品牌将成为首批将苹果Siri语音助手集成到车载信息娱乐系统中的汽车制造商&#xff0c;首发车型包括雪…...

3分钟掌握Mem Reduct:Windows系统内存清理的终极解决方案

3分钟掌握Mem Reduct&#xff1a;Windows系统内存清理的终极解决方案 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …...

终极罗技PUBG鼠标宏配置:告别枪口上跳的智能解决方案

终极罗技PUBG鼠标宏配置&#xff1a;告别枪口上跳的智能解决方案 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中的枪口上跳…...

Narrative-craft:工程化叙事框架的设计、实现与集成指南

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Narrative-craft”&#xff0c;作者是chengjialu8888。光看名字&#xff0c;你可能会觉得这又是一个讲“叙事”或者“故事创作”的抽象工具。但点进去仔细研究后&#xff0c;我发现它远不止于此。这…...

ComfyUI全面掌握-知识点详解——自定义节点安装与首次 AI 绘图(实操+排错)

本文为系列第 6 篇&#xff08;第一章第 5 个知识点&#xff09;&#xff0c;讲解自定义节点的作用与安装方式&#xff0c;手把手教读者加载默认工作流、完成首次 AI 绘图&#xff0c;解读核心参数并排查常见问题。 目录 一、引言&#xff1a;自定义节点是什么&#xff1f;为什…...

OpenManus-RL:基于强化学习优化大语言模型智能体决策的完整框架

1. 项目概述与核心价值如果你正在关注大语言模型智能体领域&#xff0c;尤其是如何让模型从“会聊天”进化到“会做事”&#xff0c;那么OpenManus-RL这个项目绝对值得你投入时间研究。它不是一个简单的工具库&#xff0c;而是一个由UIUC-Ulab和MetaGPT团队联合发起的、以直播形…...

GPU加速网络爬虫:OpenCL异构计算在数据采集中的实践

1. 项目概述&#xff1a;一个面向硬件加速的开源抓取工具包最近在折腾一些数据采集和自动化任务时&#xff0c;我常常遇到一个瓶颈&#xff1a;当需要处理海量网页、进行高频次请求或者解析复杂的动态内容时&#xff0c;传统的基于CPU的抓取框架&#xff08;比如Scrapy、Reques…...

知识付费浪潮下的技术学习:是捷径,还是新的信息茧房?

当“知识”成为一种商品打开手机&#xff0c;各类技术公众号、知识星球、极客时间专栏、慕课网实战课、B站充电视频……铺天盖地的“测试开发进阶”“性能测试大师班”“自动化测试框架实战”正以9.9元、199元、3999元的价格被明码标价。作为一名软件测试工程师&#xff0c;我们…...

抖音无水印下载神器:douyin-downloader完整指南,轻松保存高清视频

抖音无水印下载神器&#xff1a;douyin-downloader完整指南&#xff0c;轻松保存高清视频 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and …...