编译代码 gcc/g++ gcc(C) C++ g++

1.快速查看

gcc code.c -o mybin.exe 只能用来编译c语言

g++ code.cpp/.cc/.cxx -o mycpp.exe

centos7 yum 安装g++

2.程序的编译

->编程语言翻译成计算机语言

->编译器来执行的

C源文件->预处理(宏,条件编译,注释,头文件展开)->编译(c语言翻译成汇编)->汇编(变成二进制文件)->链接(形成可执行文件)->可执行程序

Linux下的验证方法

gcc -E code.c -o code.i        预处理

-S code.i -o code.s            编译

-c code.s -o code.c (od查看) 汇编

​ ​

3.动静态库

我们的库以动态库居多

假如李四想要去上网,他并不知道网吧的位置,所以他问高三学长网吧位置,得到位置后,回到学校就去学长会给的位置去网吧上网。

李四就相当于软件,而高三学长就相当于编译器中的连接器,学校相当于内存,运行代码,我们的代码被加载到内存之中,去网吧上网,网吧就相当于动态库,软件就要去链接动态库才能生成可执行代码

但是此时网吧关了,李四还想要去上网,他就给他爸爸说。他爸就直接在李四宿舍安装了电脑,李四不需要出去上网就可以直接在宿舍上网

直接在宿舍安装电脑就叫静态链接,而此时的宿舍的电脑就称作静态库

​ ​

动态库 是c/c++或者其他第三方提供的所有方法的集合,被所有的程序以链接的方法,关联起来,动态链接

静态库 是c/c++或者其他第三方提供的所有方法的集合,被所有程序以拷贝的方法,将所需的代码,拷贝到自己的可执行程序中 静态链接

动态库连接优缺点:

优点:形成的可执行程序体积比较小,比较节省空间的

缺点:稍慢一点,依赖与动态库,动态库没了,程序无法运行

静态库优缺点:

优点:无视库,可以独立运行

缺点:体积大浪费空间

gcc“文件” -static可验证

​ ​

4.自动化构建代码

make/makefile:基础

make:是一个命令

makefile:当前目录下存在的一个具有特定格式的文本文件

1.如何使用

​ ​

建立makefile 文件

依赖方法前面必须是一个tab​键不能是2个空格

​ ​

2.如何清理

​ ​

​ ​

相关推荐

  1. 交叉编译代码

    2024-06-10 01:56:03       45 阅读
  2. 代码编译出错可能的原因

    2024-06-10 01:56:03       88 阅读
  3. C++查看编译后的代码

    2024-06-10 01:56:03       38 阅读
  4. 编译期间生成代码(Lombok原理)

    2024-06-10 01:56:03       32 阅读
  5. VScode编译c++代码json配置

    2024-06-10 01:56:03       28 阅读
  6. 代码编写规范

    2024-06-10 01:56:03       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 01:56:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 01:56:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 01:56:03       87 阅读
  4. Python语言-面向对象

    2024-06-10 01:56:03       96 阅读

热门阅读

  1. Spring

    Spring

    2024-06-10 01:56:03      30 阅读
  2. 作业40 自定义函数

    2024-06-10 01:56:03       29 阅读
  3. win10文件夹.git或者文件被隐藏的开启姿势

    2024-06-10 01:56:03       28 阅读
  4. Ansible——get_url模块

    2024-06-10 01:56:03       31 阅读
  5. bash、zsh、fish三种流行Unix shell的区别

    2024-06-10 01:56:03       31 阅读
  6. nodejs 第三方库 exiftool-vendored

    2024-06-10 01:56:03       31 阅读
  7. C++中实现一个泄漏检测工具

    2024-06-10 01:56:03       32 阅读
  8. ubuntu远程控制软件todesk安装及网络连接问题解决

    2024-06-10 01:56:03       30 阅读
  9. C++,观察者模式,模拟Qt的信号和槽机制

    2024-06-10 01:56:03       36 阅读
  10. 在ADG只读备库使用数据泵导出数据

    2024-06-10 01:56:03       33 阅读
  11. Android基础-AIDL的实现

    2024-06-10 01:56:03       32 阅读