国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C/C++語言宏定義使用實例詳解

2020-01-26 14:02:47
字體:
來源:轉載
供稿:網友

 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:  linuxSolaris:  __sun

2.2 編譯器相關宏定義

   VC: _MSC_VERGCC/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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙南县| 汕头市| 绿春县| 洪湖市| 塘沽区| 高碑店市| 峨眉山市| 仁怀市| 漾濞| 台州市| 黄浦区| 沁阳市| 济阳县| 中牟县| 汕尾市| 常山县| 礼泉县| 蒙山县| 宜兰县| 德州市| 嘉义县| 定南县| 剑川县| 搜索| 县级市| 寿光市| 托里县| 锡林郭勒盟| 喀什市| 锦屏县| 太保市| 金昌市| 呼图壁县| 胶州市| 五莲县| 西和县| 政和县| 荔波县| 鱼台县| 吉水县| 天长市|