回答編集履歴
5
追記
test
CHANGED
@@ -22,11 +22,15 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
+
規格などは下の通りですが、「できない」、というのは僕の間違いでした。
|
26
|
+
|
27
|
+
マクロの使い方に発想が足りませんでしたね、、、
|
25
28
|
|
26
29
|
|
27
|
-
すみません、以下、僕の間違いでした。
|
28
30
|
|
31
|
+
以下、旧回答
|
29
32
|
|
33
|
+
-------------------------------------------------------------------------------
|
30
34
|
|
31
35
|
[JISの規格 6.10.2ソースファイル取込み](http://kikakurui.com/x3/X3010-2003-01.html)を見る限り、includeのファイル名としてマクロを記述することは可能だが、注釈(143)に隣接する文字列リテラルは連結されない、とあるのでそういった記述は無理だと思います。
|
32
36
|
|
4
追記
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
すみません、以下、僕の
|
27
|
+
すみません、以下、僕の間違いでした。
|
28
28
|
|
29
29
|
|
30
30
|
|
3
回答誤り訂正
test
CHANGED
@@ -1,3 +1,33 @@
|
|
1
|
+
気になったので調べ直したら以下の方法なら可能でした。
|
2
|
+
|
3
|
+
文字列として連結せずに最後に文字列化 or <>で囲んでやればいけます。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
```C
|
8
|
+
|
9
|
+
#define LOCAL_INCLUDE(x) #x
|
10
|
+
|
11
|
+
#define GLOBAL_INCLUDE(x) <x>
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
#define COMMON_INCLUDE(x) GLOBAL_INCLUDE(common/include/dir/##x)
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
#include COMMON_INCLUDE(my_header.h)
|
20
|
+
|
21
|
+
```
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
すみません、以下、僕の勘違いでした。
|
28
|
+
|
29
|
+
|
30
|
+
|
1
31
|
[JISの規格 6.10.2ソースファイル取込み](http://kikakurui.com/x3/X3010-2003-01.html)を見る限り、includeのファイル名としてマクロを記述することは可能だが、注釈(143)に隣接する文字列リテラルは連結されない、とあるのでそういった記述は無理だと思います。
|
2
32
|
|
3
33
|
C++でも規格ではありませんが[cppreference](http://en.cppreference.com/w/cpp/preprocessor/include)ではマクロの展開結果が<>か""で囲われている場合に限り許可される、とあるので同じだと思います。
|
2
誤記修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
[JISの規格 6.10.2ソースファイル取込み](http://kikakurui.com/x3/X3010-2003-01.html)を見る限り、includeのファイル名としてマクロを記述することは可能だが、注釈(143)に隣接する文字列リテラルは連結されない、とあるのでそういった記述は無理だと思います。
|
2
2
|
|
3
|
-
C++でも規格ではありませんが[cppreference](http://en.cppreference.com/w/cpp/preprocessor/include)ではマクロの展開結果が<>か""で囲われている場合に限り許可されるとあるので
|
3
|
+
C++でも規格ではありませんが[cppreference](http://en.cppreference.com/w/cpp/preprocessor/include)ではマクロの展開結果が<>か""で囲われている場合に限り許可される、とあるので同じだと思います。
|
4
4
|
|
5
5
|
|
6
6
|
|
1
誤記修正
test
CHANGED
@@ -30,6 +30,8 @@
|
|
30
30
|
|
31
31
|
```
|
32
32
|
|
33
|
-
といった記載は可能ですから機能ごとにヘッダー一覧マクロを書いたヘッダーを
|
33
|
+
といった記載は可能ですから、機能ごとにヘッダー一覧マクロを書いたヘッダーを作成しておくとかでしょうか?
|
34
34
|
|
35
35
|
それだったら最初から機能をまとめたヘッダー作ったほうが、という気がしなくもないですが。
|
36
|
+
|
37
|
+
機能が巨大で部分的に使用できたり雑多に集めた機能集だとどうしようか悩むところですね。
|