[問題] 前置處理macro宣告與使用
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
mac os x10.6.8 xcode 4.2
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
lcms2 (little cms)
問題(Question):
http://ideone.com/za4PY
這code是lcms2.h的一部份內容,有些地方看不太懂想請教一下。
Q1:想問一下為什麼code一開始還要用#ifndef _lcms2_H ?
會用到這code不就已經#include "lcms2.h"了嗎?用ifndef確認有什麼意義嗎?
還有就是我手邊的c++ plus primer裡面的範例是:
//blooper.h
#ifndef _BLOOPER_H_
... header名稱的大小寫和h之後有沒有“_”有差嗎?
Q2:為什麼他有些地方在#define CMSEXPORT 或CMSAPI的時候後面甚麼也沒加?
像22,23行,但在12行的時候就有:#define CMSAPI __declspec(dllexport)
CMSEXPORT跟CMSAPI看起來不像header也不像Standard Predefined Macros
裡面的東西阿,難道define macro的時候可以完全不用給一個值或定義嗎?
Q3:在code的26行之後是怎樣的宣告方式?
最後好像是一個完整的function,但前面的CMSAPI和CMSEXPORT完全不知道
在做什麼。
附上完整的code:http://trac.imagemagick.org/browser/lcms/trunk/include/lcms2.h
謝謝大家!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.126.67.198
推
04/10 17:53, , 1F
04/10 17:53, 1F
→
04/10 17:53, , 2F
04/10 17:53, 2F
→
04/10 17:54, , 3F
04/10 17:54, 3F
→
04/10 17:55, , 4F
04/10 17:55, 4F
→
04/10 17:55, , 5F
04/10 17:55, 5F
→
04/10 17:56, , 6F
04/10 17:56, 6F
→
04/10 17:57, , 7F
04/10 17:57, 7F
推
04/10 18:15, , 8F
04/10 18:15, 8F
推
04/10 18:18, , 9F
04/10 18:18, 9F
→
04/10 19:54, , 10F
04/10 19:54, 10F
→
04/10 19:55, , 11F
04/10 19:55, 11F
→
04/10 19:56, , 12F
04/10 19:56, 12F
→
04/10 20:00, , 13F
04/10 20:00, 13F
→
04/10 20:01, , 14F
04/10 20:01, 14F
推
04/10 20:41, , 15F
04/10 20:41, 15F
→
04/10 20:41, , 16F
04/10 20:41, 16F
→
04/10 20:41, , 17F
04/10 20:41, 17F
→
04/10 20:42, , 18F
04/10 20:42, 18F
→
04/10 20:42, , 19F
04/10 20:42, 19F
→
04/10 20:42, , 20F
04/10 20:42, 20F
→
04/10 20:43, , 21F
04/10 20:43, 21F
→
04/10 20:44, , 22F
04/10 20:44, 22F
→
04/10 21:37, , 23F
04/10 21:37, 23F
→
04/10 21:38, , 24F
04/10 21:38, 24F
→
04/10 21:41, , 25F
04/10 21:41, 25F
→
04/10 21:49, , 26F
04/10 21:49, 26F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章