C/C++语言宏定义使用实例详解

1. #ifndef 防止头文件重定义
在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成
一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。
方法:例如要编写头文件test.h
在头文件开头写上两行:
#ifndef TEST_H #define TEST_H //一般是文件名的大写
头文件结尾写上一行:
#endif
这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。
注:Visual C++中有一种简化的方法,那就是使用 #pragma once
2. 编写跨平台的C/C++程序
2.1 操作系统相关宏定义
Windows: WIN32 Linux: linux Solaris: __sun
2.2 编译器相关宏定义
VC: _MSC_VER GCC/G++: __GNUC__ SunCC: __SUNPRO_C 和 __SUNPRO_CC
3. 完整的代码实例
//Avoid redefine anything in this header
#ifndef UUID_H
#define UUID_H
// Check platform is Windows or Linux
#ifdef _MSC_VER
#ifndef DLL_API
#define DLL_API __declspec(dllexport)
#endif
#else
#ifndef DLL_API
#define DLL_API
#endif
#endif
#include <string>
#include <random>
#include <time.h>
#include <stdlib.h>
using namespace std;
class DLL_API UUID {
public:
static string getUuidString();
};
#endif
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# C/C++语言宏定义
# C++
# 宏的使用方法详解
# C/C++宏定义的可变参数详细解析
# C++十六进制宏的用法详解
# 简单讲解C++的内部和外部函数以及宏的定义
# C/C++中宏定义(#define)
# C/C++ 宏详细解析
# 在C++中自定义宏的简单方法
# c++ 编程 几个有用的宏详解
# C++基础入门教程(二):数据、变量、宏等
# 浅析c++ 宏 #val 在unicode下的使用
# C/C++中宏/Macro的深入讲解
# 头文件
# 写上
# 就会
# 会有
# 多个
# 中有
# 希望能
# 软件工程
# 这样一个
# 谢谢大家
# 两行
# 可执行文件
# 那就是
# 操作系统
# color
# span
# style
# pragma
# Windows
# Visual
相关文章:
网站制作报价单模板图片,小松挖机官方网站报价?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
建站之星如何修改网站生成路径?
安徽网站建设与外贸建站服务专业定制方案
如何获取上海专业网站定制建站电话?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星如何取消后台验证码生成?
如何正确选择百度移动适配建站域名?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
Python lxml的etree和ElementTree有什么区别
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
建站之星Pro快速搭建教程:模板选择与功能配置指南
香港网站服务器数量如何影响SEO优化效果?
javascript中对象的定义、使用以及对象和原型链操作小结
,想在网上投简历,哪几个网站比较好?
如何在万网主机上快速搭建网站?
c# 在ASP.NET Core中管理和取消后台任务
,柠檬视频怎样兑换vip?
广平建站公司哪家专业可靠?如何选择?
北京网站制作的公司有哪些,北京白云观官方网站?
家庭服务器如何搭建个人网站?
如何在VPS电脑上快速搭建网站?
建站之星如何快速解决建站难题?
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何撰写建站申请书?关键要点有哪些?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
如何在建站之星绑定自定义域名?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
如何在阿里云完成域名注册与建站?
如何快速查询网址的建站时间与历史轨迹?
已有域名能否直接搭建网站?
Swift中循环语句中的转移语句 break 和 continue
如何在Windows 2008云服务器安全搭建网站?
企业微网站怎么做,公司网站和公众号有什么区别?
如何配置支付宝与微信支付功能?
建站168自助建站系统:快速模板定制与SEO优化指南
详解jQuery中基本的动画方法
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
宁波自助建站系统如何快速打造专业企业网站?
北京的网站制作公司有哪些,哪个视频网站最好?
如何正确下载安装西数主机建站助手?
如何实现建站之星域名转发设置?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
如何选择服务器才能高效搭建专属网站?
如何快速搭建虚拟主机网站?新手必看指南
如何快速生成高效建站系统源代码?
开心动漫网站制作软件下载,十分开心动画为何停播?
*请认真填写需求信息,我们会在24小时内与您取得联系。