linux C++笔记

本文详细介绍了Linux下的命令解析器功能、Bash快捷键的使用、GCC编译器与链接选项,以及GDB调试器的基本操作,包括设置断点和查看源代码等。
摘要由CSDN通过智能技术生成

查看CPU信息     cat /proc/cpuinfo  

Linux命令解析器

查看命令解析器       ls /bin/*sh

Bash解析器常用快捷键

Tab补齐命令、路径
ctrl+l清屏
ctrl+c中断进程
ctrl+p遍历输入的历史命令(向前)
ctrl+n遍历输入的历史命令(向后)
ctrl+b光标左移
ctrl+f光标右移
ctrl+a光标移动到头
ctrl+e光标移动到尾
ctrl+h删除光标前面的字符
ctrl+d删除光标后面的字符
ctrl+u删除光标前面的所有字符
ctrl+k删除光标前面的所有字符

内建命令:解析器自带的命令,执行效率更高

外部命令:安装外部软件所带的命令

查看命令类型:type -a 命令

Linux命令格式

command [ -option] [parameter1]...

pwd打印当前工作目录
cd切换到当前用户的主目录
cd ~切换到当前用户的主目录
cd ..切换到上一级目录
cd 路径切换到指定路径
mkdir 名字创建目录
rmdir 名字删除目录

文件类型

ls查看当前目录里的有什么文件、目录
ls -l 查看当前目录里的文件、目录的详细信息
ls *后缀查看当前目录里,指定后缀的文件
touch 文件名文件不存在创建新文件,文件存在更新文件时间
cp 文件名 路径将文件拷贝到指定路径下
cp -r 目录 路径将目录拷贝到指定路径下
rm 文件名删除文件
rm -r 目录删除目录
mv 文件名 新文件名文件重命名
mv 文件 路径将文件剪切到指定路径下
cat 路径查看文件内容
find 路径 -name 文件指定路径下查找文件

vim

命令模式

shift z z保存退出
yy复制
p粘贴
x删除
D删除到行尾
.执行上次操作
u撤销
ctrl+r反撤销
/字符串向下查找字符串
?字符串向上查找字符串

末行模式

:wq保存退出
:q!退出不保存
:w 文件名保存到指定文件
:s/a/b/光标所在行第一个a换成b
:s/a/b/g光标所在行所有a换成b
:%s/a/b/g所有a换成b

GCC

gcc -E test.c -o test.i

gcc -S test.i -o test.s

gcc -c test.s -o test.o

gcc  test.c -o test          不加-o默认生成a.out

./test

静态连接

链接器在链接时将库的内容加入到可执行程序中。

优点:对运行环境的依赖小,具有好的兼容性。

缺点:生成的程比较大,需要更多的系统资源,在装入内存时会消耗更多的时间。

           库函数有了更新,必须重新编译应用程序。

静态库的制作(libxxx.a)

将源文件生成对应.o文件

gcc -c add.c -o add.o    

gcc -c sub.c -o sub.o

使用打包工具ar将准备好的.o文件打包成.a文件libxxx.aar -rcs libxxx.a add.o sub.o

静态库的使用

          gcc test.c -L./ -I./ -ltest -o test

动态连接

链接器在链接时仅仅建立与所需库函数之间的连接关系,在程序运行时才将所需资源调入到可执行程序中。

优点:在需要的时候才会调入对应的资源函数。

           简化程序的升级。有着较小的程序体积。

            实现进程之间的资源共享(避免重复拷贝)

缺点:依赖动态库,不能独立运行。

           动态库依赖版本问题严重。

动态库的制作(libxxx.so)

创建与地址无关的编译程序

gcc -fPIC -c add.c

gcc -fPIC -c sub.c

生成共享库gcc -shared add.o sub.o libxxx.so
nm查看对应的函数nm libxxx.so | grep add

动态库使用

gcc test.c -L. -I. -ltest

临时设置LD_LIBRARY_PATH(不写详细的了)  

GDB

启动gdb a.out

gcc -g test.c

设置args 和argv

set args            show args

启动程序 run start

quit 退出

显示源代码

list

list 函数名

set listsize 20

断点操作

b 10              设置断点

b 函数名

info b            查询断点

d            删除所有断点

disable 7 禁用断点

enable 7 启用断点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值