[問題] C++ Builder的編譯器規格
因為我現在做的專案希望可以在不同編譯器和IDE之間 (e.g. bcb, vc++, qt, gcc or cl
ang) 共用程式碼,所以要做一個橋接的程式,把差異的地方統一1個對外介面。需要透過
一些巨集來判斷環境。
其實毛最多的就字串處理函數而已。但我發現C++ Builder (以下簡稱BCB)
在32位元組態下的支援性不是很好判斷。公司用的版本是XE7。
它的__cplusplus是1,但是它卻有define __STDC_LIB_EXT__ ,
所以它有一些 _s結尾的函數可以用。
但也不是每個_s 函數它都有支援,像是寬字串互轉的mbstowcs_s和wcstombs_s就沒有。
所以也不能用__STDC_LIB_EXT__或__plusplus來概括說有無支援_s函數
必須額外針對if defined(__BORLANDC__)來處理。
另外,像是vswprintf 在別的編譯器都是4個參數,但BCB是3個(少了數量那一個)
這也要另外判別是不是BCB
會不會是BCB 32位元的tool chian比較沒辦法用通用的macro來判斷其支援性?
(也許規格上沒完全支援到C++11,但是有implement了部份函數來相容之類的?)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.176.110
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1508418829.A.4D1.html
噓
10/19 21:31,
8年前
, 1F
10/19 21:31, 1F
推
10/19 21:47,
8年前
, 2F
10/19 21:47, 2F
抱歉改回來了 = =
推
10/19 22:35,
8年前
, 3F
10/19 22:35, 3F
→
10/19 22:35,
8年前
, 4F
10/19 22:35, 4F
→
10/19 22:37,
8年前
, 5F
10/19 22:37, 5F
→
10/19 22:39,
8年前
, 6F
10/19 22:39, 6F
→
10/19 23:28,
8年前
, 7F
10/19 23:28, 7F
→
10/19 23:31,
8年前
, 8F
10/19 23:31, 8F
※ 編輯: z1976 (36.224.123.9), 10/20/2017 02:40:16
→
10/21 01:14,
8年前
, 9F
10/21 01:14, 9F
→
10/21 01:15,
8年前
, 10F
10/21 01:15, 10F
→
10/21 01:15,
8年前
, 11F
10/21 01:15, 11F
→
10/21 01:16,
8年前
, 12F
10/21 01:16, 12F
→
10/21 01:18,
8年前
, 13F
10/21 01:18, 13F
→
10/21 01:19,
8年前
, 14F
10/21 01:19, 14F
推
10/22 20:32,
8年前
, 15F
10/22 20:32, 15F
推
10/22 21:04,
8年前
, 16F
10/22 21:04, 16F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章