OHHHH,发现自己的基础知识真他妈的是呼呼漏风,,,,,,,,,,,
尴尬得意识到,不仅是英语水平有问题,他码的基础知识也有问题。在预先学习某个内容之前,应该对这个内容和相关设计的专有名词基础概念有个初步的认识,然后再学习也许会快一些?
我现在在尝试这样做,先gpt了解基础的用法和解释和一些常见的单词与中文对上号(以后英语好了也许这一步就不用了他妈的,,,)
1. header file = include file 头文件
定义:An include file, often referred to as a header file, is a file containing declarations of functions, objects, or macros that are used in a program.
header file 中包括 函数,对象 或者 宏 的声明。将包括这些声明的头文件 用 #include 指令包括在source file 中,就相当于告知编译器将 header file 中的内容 插入到 source file 的对应使用`#include<> `的位置中
头文件的作用是:让你可以在源文件中自由使用这些头文件中声明的 函数、对象、宏 等。
2. macros : 宏
3. pre-compiled 预编译
4. 编译链接的过程:
编译(compilation)一般被分为三步骤:
预处理(preprocessing) : 预处理器将解析(resolve)源文件(source file)和头文件(header file)中的所有的预处理命令(preprocessor directive)。预处理命令包括 #define #include 等等
编译:将 预处理后的代码 转换为 汇编代码或直接转变为目标代码
6. include file 和 .lib 区别
c++ - include directories vs. lib directory concept question - Stack Overflow
3. 举一个编译 所谓 include file 的例子:
我的文件和文件组织形式如下:
想要成功将main.cpp编译生成可执行文件,需要使用指令告知 g++ 编译 main.cpp 的时候需要链接上 math.cpp 中的内容(因为main.cpp 中使用了 math.cpp 中定义的函数)
编译指令如下:
g++ -o myprogram main.cpp math.cpp
这里就会存在一个疑问:g++是咋找到 math.cpp这个地址的,在发现main.cpp 文件中没有 对add函数的定义,就可以只接找到对应的math.cpp么????