利用宏控制編譯器實現跨平臺開發C/C++

跨平臺開發C/C++

  • 最近很感興趣關於跨平臺的C/C++,一開是因爲在VC平臺的那些奇奇怪怪的宏,讓我感覺有點摸不着頭腦,後來索性就研究一下。隨着看的越來越多,越來越佩服C/C++標準的開發者爲了跨平臺做的那些努力和優化。
  • 同時也看到了C/C++不同於其他編程語言的東西,難能可貴的是C/C++不僅可以完成一些功能,更重要的是他可以控制編譯的過程,這一點足以控制不同平臺的編譯器,使其兼容不同編譯器下的C/C++代碼
  • 甚至,我還在想,能控制編譯的過程,那麼,是不是我們自己可以創造一門自己的編程語言呢,哈哈😂
  • 花不多說了,這個帖就當收集一些C/C++跨平臺的一些用法,並且不斷更新。

平臺API

  • 衆所周知,C標準規定,在實現標準C的同時,各個平臺可以有對不同平臺API的封裝,這雖然方便了開發,但是導致了導致了跨平臺的障礙。
  • windows平臺下的winAPI,在頭文件windows.h
  • Linux平臺下的LinuxAPI,在頭文件unistd.h
  • 所以我們可以藉助一些宏,來實現跨平臺
#ifdef WIN32
#include <Windows.h>  
#else  
#include <unistd.h>  
#endif  

Sleep

這個sleep函數一直是比較蛋疼的,在兩個平臺上是不同的,一個有大寫,一個沒有大寫,真的是有毒,並且單位也不一樣

#ifdef WIN32  
#include <Windows.h>  
#define sleep(t) Sleep((t)*1000)  
#else  
#include <unistd.h>  
#endif   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章