防止重复包含头文件
在头文件中包含头文件常导致重复定义的问题。Windows平台上常常使用#pragma once
的方式来防止重复定义,但在跨平台项目上这么做就不太适用了。
因此我们常常使用预定义的方式来防止重复定义的问题。之前我只是知道有这么回事,但并不知道是如何实现的,下面对其进行总结。
以某个头文件"header.h"
为例:1
2
3
4
5
6
7
8
9
/*
*header.h body
*
*/
如果该头文件已被包含,那么头文件中的定义不会被重复定义。
库文件的包含
在Windows中,有两种方式可以包含库文件。
一种是在代码中添加:1
另一种是在项目 - 属性 - 配置属性 - 链接器 - 输入 - 附加依赖项
中添加库文件。
如果上述两种方式只添加了文件名而没有路径,则需要在项目 - 属性 - 配置属性 - 链接器 - 常规 - 附加库目录
中添加库文件的路径。
在Linux操作系统中,使用makefile指定包含的库文件。
比如需要包含GNUC库文件librt.so
,在make时指定-lrt
即可。