day-1
1.配置环境
-
Linux虚拟机(已完成,做操作系统作业就完成了)- 安装VMware Tools,可以在主机和虚拟机之间拖拽文件(相当好使)。
-
XSHELL(用于远程登录Linux系统)、XFTP(用于和远程Linux机传输文件)
- VMware上的Ubuntu拒绝了我的连接请求,待解决。
-
vscode(已完成)- 同上
- 可以在vscode和Ubuntu配置rsa公钥,免密码登录
-
远程控制连不上,也问题不大,直接在Ubuntu里写代码不就解决问题了吗?
既然下载了Ubuntu,还要用远程控制,岂不是有一点脱裤子放屁的感觉
2.GCC
-
安装GCC和G++
- 版本大于4.8.5(2021年都是7.5了)
- gcc全名:GNU C… C…编译器套件
-
gcc的命令
-
gcc编译格式: gcc xx.c -o 生成的可执行文件名称
-E:预编译 -
-S:生成汇编代码
-
-
一般来说,gcc用来编译C程序,g++编译C++程序
3.静态库的制作和使用
静态库,在程序的链接阶段被复制到了程序中。
写库的目的和好处:
- 代码保密;C++的反编译解密程度比较低
- 方便部署和分发
静态库的制作方法:
-
命名规则:libxxx.a
-
gcc -c(编译但不链接)获得.o文件,然后将.o文件使用程序
ar
文件打包 -
- ar rcs libxxx.a xx.o xx.o、
静态库的使用方法
在要编译的文件中,使用-L ,-I指令搜索对应文件夹下的库和文件,正确编译文件
- 视频中的那些代码没有给出来,如果想在Linux上练习一下静态库的生成和使用,可以点这篇文章
(一个疑问,静态库的使用,和我们在Windows上使用IDE写程序,在程序上直接包含头文件,有什么区别吗?
或者说,IDE帮我们完成了静态的打包和链接这个过程?)