Centos7配置网络


方法一 使用nmtui命令

[root@localhost ~]# nmtui

image-20240110222848979

image-20240110222933894

image-20240110223032103

方法二 修改配置文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet     # TYPE:网络类型,这里是以太网
PROXY_METHOD=none  # PROXY_METHOD:代理方式,这里是没有代理
BROWSER_ONLY=no    # BROWSER_ONLY:是否仅限浏览器使用代理
BOOTPROTO=none    #BOOTPROTO:启动时获取 IP 地址的方式...

Read more

C++项目自动生成脚本


ccnew

$vim ccnew
#!/bin/bash
# version v0.0.1
if [ -n "$1" ]; then
    mkdir -p "$1"/{include,lib,src,tools}
    cat << EOF > "$1"/CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project($1)
set(EXECUTABLE_OUTPUT_PATH \${PROJECT_SOURCE_DIR}/bin)
set(LI...

Read more

C++多线程


#include <chrono>
#include <iostream>
#include <string>
#include <thread>
using namespace std;

void download(string file) {
  for (int i = 0; i < 10; i++) {
    cout << "Downloading " << file << " (" << i * 10 << "...

Read more

C语言中的快速排序


快速排序采用的是分治思想,即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用递归的方法分别对前后两部分重复上述操作,直到将无序序列排列成有序序列。

#include <stdio.h>

void quickSort(int arr[], int left, int right) {
  if (left >= right) {
    return;
  }
  int pivot = arr[left];
  int i = left, j = rig...

Read more

C语言中的希尔排序


C语言中的希尔排序(Shell Sort)是一种改进的插入排序算法,它通过将数组分割成多个子序列来进行排序,并逐步缩小子序列的长度,最终完成整个数组的排序。下面是一个使用C语言实现的希尔排序算法的示例:

void shell_sort(int arr[], int len) {
    int gap, i, j, temp;
    for (gap = len/2; gap > 0; gap /= 2) {
        for (i = gap; i < len; i++) {
            temp = arr[i];
            for (j...

Read more

C语言直接插入排序


直接插入排序是一种简单的排序算法,算法思想是将未排序的数据依次插入到已经排序的数据中,从而得到一个完全有序的序列。下面是一个使用 C 语言实现的直接插入排序算法:

void insertion_sort(int arr[], int len) {
    int i, j, key;
    for (i = 1; i < len; i++) {
        key = arr[i];
        j = i - 1;
        while (j >= 0 && arr[j] > key) {
            arr[j + 1] ...

Read more

常用git命令快捷使用


#!/bin/bash

alias ga='git add .'
alias gb='git branch'
alias gba='git branch -a'
alias gbd='git branch -d'
alias gcv='git commit -v'
alias gca='git commit -v -a'
alias gcm='git commit -m'
alias gcb='git checkout -b'
alias gcf='g...

Read more

GCC与GDB


GCC简介

生成一份可执行程序要经过预处理,编译,汇编,链接这4个过程。

1.预处理功能主要包括宏定义,文件包含,条件编译,去注释等。

2.编译阶段是将代码转换为汇编码

3.汇编阶段生成机器可识别代码

4.链接阶段生成可执行文件或库文件。

gcc使用

格式:gcc [选项] 要编译的文件 [选项] [目标文件]
选项:
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-o 文件输出到文件
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-static 此选项对生成的文件采用静态链接
-g 生成调试信息。GNU 调试器可利用该信息。
-shared ...

Read more

Makefile快速入门


Makefile快速入门

设计得好的 Makefile,当我们重新编译时,只需编译那些上次编译成功后修改过的文件,而不是整个项目。

Makefile最为重要的是掌握二个概念,一个是目标(target),另一个就是依赖(dependency)。

目标就是指要干什么,或说运行 make 后生成什么,而依赖是告诉 make 如何去做以实现目标。

要学会采用目标和依赖关系来思考所需解决的问题。

Makefile三要素:

img

Makefile工作原理:

img

Makefile格式

# Makefile格式
# 目标:依赖
#    执行编译命令生成目标
target: depemdemcy
<...

Read more

QEMU


QEMU

QEMU简介,QEMU是运行在用户层的开源全虚拟化解决方案,可以在Intel x86机器上虚拟出完整的操作系统,其性质与VMware player类似,由于QEMU工作在用户层,所以很多硬件的特权指令、内核操作无法实现,所以在性能上表现比较差,一般都会配合使用KVM作为底层接口来完成虚拟化。

​ QEMU主要提供两种功能给用户使用:一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码;二是作为虚拟机监管器,能模拟整个计算机系统,包括中央处理器及其他周边设备,它使得为跨平台编写的程序进行测试及除错工作变得容易。

​ QEMU在模拟全系统时,能够利用...

Read more