2011年12月29日
常常会在对源代码进行如何组织时犯难:
1)头文件的内容应写些什么?
2)函数的具体实现应放在哪一个文件里?是否与头文件放在一处?
3)自定义的头文件(.h)与定义函数(.c)是什么关系函数
注意:此时你须要有必定的编译原理的基础。
--------------------------------------------------------------------------------
====> 1)头文件里应写入的内容:xxx.h
1)预处理块 :即一些宏的定义相关的#define \#ifndef \#ifdef
2)函数和类结构【声明】
3)头文件开头处的版权和版本声明io
// 版权和版本声明见示例 1-1,此处省略。
#ifndef GRAPHICS_H // 防止 graphics.h 被重复引用
#define GRAPHICS_H
#include <math.h> // 引用标准库的头文件
…
#include “myheader.h” // 引用非标准库的头文件
…
void Function1(…); // 全局函数声明
…
class Box // 类结构声明
{
…
};
#endif编译
====> 2)函数的实现应单独放在一个文件里-------咱们称为定义文件 xxx.c
1) 定义文件开头处的版权和版本声明
2) 对一些头文件的引用-----------可能引用标准的头文件,或是自定的头文件(这里所引用头文件的要点是:只要你能完成些功能便可,无论你是什么手段)
3) 程序的实现体(包括数据和代码)------
// 版权和版本声明见示例 1-1,此处省略。
#include “graphics.h” // 引用头文件
…
// 全局函数的实现体
void Function1(…)
{
…
}class
====> 3) 头文件与函数定义没有直接的关系,(咱们理解成好像各自为政的样子----------各做各的就行,函数定义最后是生成相应的库文件,即其也只编译到.o文件便可)
1)须要明白头文件的功能:
1)最主要是完成编译阶段的功能。 -I来完成编译原理
2)库文件--------当须要进行连接时,才会来查找对应函数的实现。 此时由 -l -L来共同完成基础
============================>说白了,在咱们须要编写一个较大的可执行代码主要分为:
1)编写头文件
2)编写函数定义文件
3)编写可执行文件===即咱们的main函数相关的代码。原理
编写时: 引用
1)、2) =====》共同完库文件的工做
1)、3) =====》共同完成main文件的工做
----------------------------------------------->>>>>>>>>>>>>>>>再共同完成可执行文件
程序