一,多文件写法
任何.c.cpp都有对应同名的.h,.h文件作为多文件间链接的桥梁。
里面可以存放公开的函数原型,类,全局变量;
具体可以把一个cpp文件,分成3个文件。
main.cpp;
func.cpp;
func.h;
main里面存放主函数,func.cpp放函数
func.h可以存放公开的函数原型,类,全局变量;
二,避免重复编译。
方式一:
#ifndef _SOMEFILE_H_
#define _SOMEFILE_H_
.......... // 一些声明语句
#endif
方式二:
#pragma once
... ... // 一些声明语句
#pragma once是编译器相关的,有的编译器支持,有的编译器不支持,具体情况请查看编译器API文档,不过大部分编译器都有这个预处理指令了。
#ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式。
三,全局变量
全局变量在多文件之间使用,需要加上声明。
在全局变量前加extern。
Extern int i;
如果希望变量只在当前的文件使用,在前面加static;
在函数前面加上static就使得它成为只能在所在的编译单元中被使用的函数
在全局变量前面加上static就使得它成为只能在所在的编译单元中被使用的全局变量