C++高薪面试项目 --- 笔记(第一章)

1.1 Linux开发环境搭建

1.安装Linux系统(虚拟机安装、云服务器) https://releases.ubuntu.com/bionic/ 2.安装XSHELL、XFTP https://www.netsarang.com/zh/free-for-home-school/ 3.安装Visual Studio Code https://code.visualstudio.com/

1.2 gcc 和 g++

  • GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言 译器。GNU 编译器套件包括 C、C++、Objective-C、Java、Ada 和 Go 语言前 端,也包括了这些语言的库(如 libstdc++,libgcj等)
  • 是因为 gcc命令不能自动和 C++ 程序使用的库联接,所以通常用 g++ 来完成链接,为了统 一起见,干脆编译/链接统统用 g++ 了
  • 安装命令 sudo apt install gcc g++
  • 查看版本 gcc/g++ -v/--version

1.3 静态库、动态库的制作

  • 库文件有两种,静态库和动态库(共享库)。
  • 区别是:静态库在程序的链接阶段被复制到了程序中;

动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。

  • 库的好处:1.代码保密 2.方便部署和分发

静态库的制作:

  • Linux : libxxx.a
  • gcc 获得 .o 文件
  • 将 .o 文件打包,使用 ar 工具(archive)
  • ar rcs libxxx.a xxx.o xxx.o r – 将文件插入备存文件中 c – 建立备存文件 s – 索引

动态库的制作:

  • Linux : libxxx.so
  • gcc 得到 .o 文件,得到和位置无关的代码 gcc -c –fpic/-fPIC a.c b.c
  • gcc 得到动态库 gcc -shared a.o b.o -o libcalc.so

1.4 Makefile

  • Makefile 文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编 译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 Makefile 文件就 像一个 Shell 脚本一样,也可以执行操作系统的命令。
  • make 是一个命令工具,是一个解释 Makefile 文件中指令的命令工具,一般来说,大多数的 IDE 都有这个命令,

比如 Delphi 的 make,Visual C++ 的 nmake,Linux 下 GNU 的 make。

1.5 GDB 调试

  • GDB 是由 GNU 软件系统社区提供的调试工具,同 GCC 配套组成了一套完整的开发环境,

GDB 是 Linux 和许多类 Unix 系统中的标准开发环境。

  • GDB 主要帮助你完成下面四个方面的功能:
  1. 启动程序,可以按照自定义的要求随心所欲的运行程序
  2. 可让被调试的程序在所指定的调置的断点处停住(断点可以是条件表达式)
  3. 当程序被停住时,可以检查此时程序中所发生的事
  4. 可以改变程序,将一个 BUG 产生的影响修正从而测试其他 BUG

1.6 文件IO

全部评论

相关推荐

豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-28 13:48
hory权:校招vip纯神人了,还说自己是什么师范大学的
点赞 评论 收藏
分享
评论
12
91
分享

创作者周榜

更多
牛客网
牛客企业服务