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

开发工具和库的一些介绍

一.开发工具

1.在Linux中安装软件,一般有三种途径:源码安装(不推荐);软件包安装(rpm)(不推荐,易出现缺失和版本兼容问题);包管理器(yum/apt)(Centos:yum;Ubuntu:apt/apt-get)

2.安装软件需要root权限,软件只安装一次,任何人均可以使用

3.评估一个操作系统的好坏一般从内核版本和生态(社区,文档,人群,问题等)两方面考虑

4.ls /etc/yum.repos.d/ :查看yum源

5.vim是一款多模式的编辑器

<1>

<2>在命令模式下

gg:快速回到第一行

shift+g:快速定位结尾

n+shift+g:定位到第n行

shift+$:定位到本行结尾

shift+^:定位到本行开头

w:以单词为单位向右移动,n+w:向右移动n个单词

b:以单词为单位向左移动,n+w:向左移动n个单词

h:左移    j :下移  k :上移    l:右移

<3>在插入模式下

yy:复制当前行    p:将复制的内容粘贴到光标所在位置  n+yy:复制选中的n行

dd:剪切当前行   p:将剪切的内容粘贴到光标所在位置  n+yy:剪切选中的n行

u:撤销历史操作    ctr+r:撤销u操作   注:一旦退出文件编辑,就无法进行撤销操作了

x:删除光标所在的字符  p:将删除的字符粘贴到光标所在位置  n+x:复制选中的n个字符

shift+x:光标右侧不动,左侧删除

r 替代字符:替换光标所在位置的字符    n+r

shift+r:批量化替换

shift+~:大小写切换

shift+#:选中单词    n:逆向查找

<4>在底行模式下

shift+zz:退出

w: 保存    q: 退出     wq:保存退出

!:强制      wq!:强制保存退出

set nu:设置行号    nonu:取消行号

!命令:可以直接在底行模式下使用命令

:%s/dst/src/:用src替换dst

:vs new-src:进行分屏操作

6.vim 文件名 进入文件编辑页面后输入wq,此时文件会自动生成

ctr+ww:将光标移动到另一个分屏上

vim 文件名 +n:定位到文件的第n行

:v :查看vim上一次的操作

二.gcc/g++使用的流程

1.预处理:进行宏替换

gcc -E code.c -o code.i

2.编译:生成汇编

gcc -S code.i -o code.s

3.汇编:生成机器可以识别的代码(生成机器码)

gcc -c code.s -o code.o

4.链接:生成可执行文件或库文件

gcc code.o -o code

注:习惯上将*.c文件链接生成*.o文件,再将他们打包形成可执行文件,再进行操作

三.库

1.分类

2.Linux中库的命名规则:  lib名称.so   lib名称.a

3.动态库的特点:执行目标方法需跳转到库中执行,执行完后再返回

动态链接:在编译时完成,让程序能找到在库中的方法的地址

静态链接:将库中的方法拷贝到我们的程序中,静态库只有在链接时候有用,一旦形成可执行程序,静态库可以不再需要(静态库不在内存里)

4.动静态库的对比

动态库形成的可执行程序体积一定很小

可执行程序对静态库的依赖度小,但对动态库依赖度很高

程序运行时,需要加载到内存中,如果采用静态链接会在内存中出现大量重复代码

动态链接比较节省内存和磁盘资源

5.系统默认是动态链接

6.进行静态链接时,静态库必须存在,使用 gcc code.c -o code -static可以强制静态链接

相关文章:

  • 鸿蒙HarmonyOS NEXT开发:组件-样式-基础 2
  • 使用sympy实现傅里叶变换
  • 30.[前端开发-JavaScript基础]Day07-数组Array-高阶函数-日期Date-DOM
  • VMware Fusion 虚拟机Mac版 安装CentOS 7 系统
  • Tailwind CSS 4【实用教程】
  • Linux 下使用tracepath进行网络诊断分析
  • 11.24 SpringMVC(1)
  • 点云 PCL 滤波在自动驾驶的用途。
  • Linux系统移植之Linux内核启动流程和移植
  • DeepSeek教unity------UI元素长按响应
  • 报道称ChatGPT 成黑客编写恶意软件「利器」,如何安全使用 ChatGPT?是否应出台相应规范?
  • StarRocks 开发环境搭建踩坑指北之存算分离篇
  • 自然语言处理NLP深探
  • 执行git操作时报错:`remote: [session-b8xxxda3] Access denied ...`解决方案
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(九)
  • 【Pandas】pandas Series dropna
  • [免费]Springboot+Vue在线文档管理系统【论文+源码+SQL脚本】
  • pta天梯L1-001 Hello World
  • 类和对象——const修饰的类的对象和函数
  • html css js网页制作成品——HTML+CSS甜品店网页设计(5页)附源码
  • 15年全程免费,内蒙古准格尔旗实现幼儿园到高中0学费
  • 蒲慕明院士:未来数十年不是AI取代人,而是会用AI的人取代不会用的
  • 下辖各区密集“联手”,南京在下一盘什么样的棋?
  • “GoFun出行”订单时隔7年扣费后续:平台将退费,双方已和解
  • 圆桌丨全球化博弈与人工智能背景下,企业如何落地合规体系
  • 七猫征文大赛颁出112万奖金,非遗题材作品斩获金奖