Java教程

别再“Hello World”编程了

本文主要是介绍别再“Hello World”编程了,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

刚开始学C++,一个.cpp文件就够了,类的定义,声明,实现统统都堆在一个文件中,然后编译连接,生成.exe文件,就完成作业了。
但开始接触项目后,需要和别人一起完成一个大作业时,写在同一个main.cpp明显会有些乱套,这时候,就需要分离编译



先了解一下,我们使用的visual studio 2019或者是 DevC++都是怎么将我们编写的.cpp文件变成.exe可执行文件


详细可以看跟我一起写 Makefile(一)




分离编译

分离编译模式是指:一个程序(项目)由若干个.cpp源文件共同实现,而每个源文件单独编译生成.o目标文件,最后将所有目标文件连接起来形成单一.exe可执行文件的过程



将一个项目划分出多个源文件后,逐一编译成目标文件,那这些目标文件又是凭什么相互连接在一起的?

这里就需要知道.h头文件和.cpp源文件的关系了





.h头文件

写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。

而为了防止头文件重复包含,一般头文件会有下面三行代码

#ifndef TEACHER_H
#define TEACHER_H

//代码

#endif // TEACHER_H





.cpp源文件

源文件主要写实现头文件中已经声明的那些函数的具体代码。需要注意的是,开头必须#include一下实现的头文件,以及要用到的头文件





预编译


讲实际点,二者的关系就是:

在写a.cpp文件时,需要#include "a.h"

而如果源文件a需要用到源文件b的代码,就在源文件a中进行#include "b.h",而就是靠这个#include,才能在链接时,将所有源文件最终合成一个可执行文件



其中#include叫做编译预处理指令,因为头文件是不能被编译的,可以简单理解成,在a.cpp中的#include "b.h"指令把b.h中的代码在编译前添加到了a.cpp的头部。






预编译指令中,使用<>""的区别:
引号会先在程序所在的路径里找 ,尖括号是从系统的头文件开始找

这篇关于别再“Hello World”编程了的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!