[問題] 用#if判斷variable的值

看板C_and_CPP (C/C++)作者 (大寶)時間2年前 (2022/11/10 00:23), 編輯推噓7(704)
留言11則, 7人參與, 2年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Linux 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 請問下面網址內的程式碼 第26行~48行, 執行結果會認為variable a1的值是0 原因是preprocessor展開的時候還沒compile, 所以將不認得的variable當成0來看待嗎? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) https://ideone.com/LmmXtE 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.226.230 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1668011007.A.958.html

11/10 00:50, 2年前 , 1F
我只知道#if通常用在判斷是否已定義,不知能否判斷數值
11/10 00:50, 1F

11/10 00:50, 2年前 , 2F
我說的定義是#define al,不是int a1;
11/10 00:50, 2F

11/10 00:53, 2年前 , 3F

11/10 01:00, 2年前 , 4F
判斷定義與否應該是#ifdef跟#ifndef
11/10 01:00, 4F

11/10 08:54, 2年前 , 5F
#if可以判斷define的數值,像是linux kernel就有version的
11/10 08:54, 5F

11/10 08:54, 2年前 , 6F
define值,寫module時可以用來判斷用不同版本的kernel要co
11/10 08:54, 6F

11/10 08:54, 2年前 , 7F
mpile哪段code
11/10 08:54, 7F

11/10 11:25, 2年前 , 8F
長知識了
11/10 11:25, 8F

11/10 23:21, 2年前 , 9F
#define不能跟變數混在一起.. #if只看#define
11/10 23:21, 9F

11/11 03:38, 2年前 , 10F
為什麼會有這種需求?meta-programming?
11/11 03:38, 10F

11/12 22:51, 2年前 , 11F
4
11/12 22:51, 11F
文章代碼(AID): #1ZQzF_bO (C_and_CPP)
文章代碼(AID): #1ZQzF_bO (C_and_CPP)