国产探花免费观看_亚洲丰满少妇自慰呻吟_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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹寨县| 启东市| 西昌市| 永登县| 合作市| 大荔县| 贵港市| 古浪县| 龙口市| 普安县| 密云县| 福鼎市| 莱州市| 乌鲁木齐市| 聊城市| 上蔡县| 武陟县| 军事| 三门县| 河间市| 福海县| 华池县| 汉源县| 屏山县| 乐清市| 遵义县| 江阴市| 秭归县| 泸定县| 水城县| 隆昌县| 岗巴县| 石景山区| 游戏| 秦皇岛市| 蕉岭县| 阳高县| 孙吴县| 五华县| 松潘县| 资中县|