ToB企服应用市场:ToB评测及商务社交产业平台

标题: 全面掌握APT、Vim和GCC:Ubuntu软件管理与开发指南 [打印本页]

作者: 万万哇    时间: 2024-12-24 06:16
标题: 全面掌握APT、Vim和GCC:Ubuntu软件管理与开发指南
Ubuntu 软件包管理器

在 **Ubuntu** 体系中,软件包管理器用于安装、更新、删除和管理软件包。Ubuntu 主要利用 APT(Advanced Package Tool) 作为软件包管理体系,并提供了多种工具和命令来简化软件管理。

Ubuntu 软件包管理的基本概念

软件包(Package)

堆栈(Repository)


常用的软件包管理器APT

Ubuntu 的主要软件包管理工具,基于命令行。管理 .deb 格式的软件包,自动处理依赖关系。
APT常用命令

1.更新堆栈
  1. sudo apt update
复制代码

2.升级体系
  1. sudo apt upgrade
复制代码

  1. sudo apt full-upgrade
复制代码

3.安装软件包
  1. sudo apt install package_name
复制代码

4.删除软件包
  1. sudo apt remove package_name
复制代码

  1. sudo apt purge package_name
复制代码

5.搜索软件包
  1. apt search package_name
复制代码

6.表现包信息
  1. apt show package_name
复制代码

7.清理缓存
  1. sudo apt autoremove
复制代码

  1. sudo apt clean
复制代码


vim

Vim(Vi IMproved)是一种功能强大的文本编辑器,是经典编辑器 Vi 的加强版本,广泛应用于步调开发、体系设置等领域。它以高效的键盘操作、灵活的设置和强大的扩展本事著称,被称为“编辑器之神”。
Vim 的基本概念

Vim 的特点
启动 Vim
  1. vim filename
复制代码

Vim 的工作模式

快速切换

Vim 的基本操作

普通模式
移动光标:

删除:

复制:

其他:

搜索与更换:

命令模式

gcc/g++

gcc 和 g++ 是 GNU项目标一部分,是用于编译和处理C、C++等多种编程语言的编译工具。
gcc 是用于 C 语言编译,g++是用于 C++ 编译
Ubuntu 安装 gcc / g++

运行以下指令来安装 gcc / g++ :
  1. sudo apt-get update -y               
  2. sudo apt install build-essential
复制代码

验证 gcc / g++ 是否安装乐成:
  1. gcc --version
  2. g++ --version
复制代码
如果出现以下环境,乐成检查到版本,则阐明安装乐成。

编译知识

我们知道,源文件须要颠末编译才可以生成可执行步调,而编译又可以分为以下4个步调:
颠末预处理后源文件(.c 或者 .cpp)就酿成了 .i 文件。
利用方法

我们这里就以 gcc 做演示,g++ 也是同样的利用方式。
  1. gcc [options] file.c -o output
复制代码
代码解释:

如果我们想要编译过程在详细某个步调停下来,生成编译过程中的暂时文件,我们可以通过带特定选项来实现。
1.-E 选项,在预处理后停下来,由 .c 文件生成 .i 文件
  1. gcc -E code.c -o code.i
复制代码
2.-S 选项,在编译后停下来,由.i 文件生成 .s 文件
  1. gcc -S code.i -o code.s
复制代码
3.-c 选项,在汇编后停下来,由 .s 文件生成 .o 目标文件
  1. gcc -c code.s -o code.o
复制代码

动静态函数库

我们都知道,如果我们的代码中利用到了一些库函数,我们就必须加上它的头文件,好比 printf 须要加上 <stdio.h> ,但是头文件也只是包含了库函数的声明,并没有实在现,这些库函数的实现实在是在特定文件路径的文件里。
在 Linux 体系中,这些库函数的实现是在 libc.so.6 的库文件(函数库)中,存放在在 /lib/x86_64-linux-gnu 路径里 。
ldd 指令可以查看可执行步调详细依赖于的库。

函数库是指为步调开发提供的预界说函数或功能集合,我们可以直接调用这些函数,无需从头写代码,提高开发服从,确保代码的可靠性和一致性。函数库可以分为静态库动态库两种形式。
1.静态库(Static Library)
静态库在编译时会被直接链接到目标步调中,生成的可执行文件包含了库中的所有须要代码。因此,在步调运行时不须要依赖外部的库文件。

静态链接
  1. gcc code.c -o mycode -static
复制代码

2.动态库(Dynamic Library)
动态库在步调运行时加载,代码不直接嵌入到可执行文件中,而是以外部文件存在,允很多个步调共享同一个动态库。

动态链接
  1. gcc code.c -o code       
复制代码

利用 file 指令可以查看可执行步调链接库的类型。
  1. file filename
复制代码


Have a good day




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4