質問編集履歴

5

タグを修正しました。

2021/10/07 06:29

投稿

l9uftn
l9uftn

スコア3

test CHANGED
File without changes
test CHANGED
File without changes

4

例を追記しました。

2021/10/07 06:29

投稿

l9uftn
l9uftn

スコア3

test CHANGED
File without changes
test CHANGED
@@ -6,11 +6,113 @@
6
6
 
7
7
  ### 前提・実現したいこと
8
8
 
9
+ define や undef、ifdef、コメント(// や /* */) が乱立しているソースコードを含むプロジェクト上から、
10
+
11
+ 有効なマクロの一覧を取得したいです。
12
+
13
+ ※下記のようなファイルがプロジェクト上に複数あるイメージです。
9
14
 
10
15
 
11
- define や undef、ifdef、コメント(// や /* */) が乱立しているソースコードから、
12
16
 
17
+ ```cpp
18
+
19
+ /* macro.h */
20
+
21
+ #define MACRO_A
22
+
23
+ #define MACRO_B
24
+
25
+ #define MACRO_C
26
+
27
+ #define MACRO_D
28
+
29
+
30
+
31
+ #undef MACRO_B
32
+
33
+
34
+
35
+ #ifdef MACRO_A
36
+
37
+ #define MACRO_A1
38
+
39
+ #endif
40
+
41
+
42
+
43
+ /* #define MACRO_E */
44
+
45
+ // #define MACRO_F
46
+
47
+ /* #define MACRO_G
48
+
49
+ */
50
+
51
+ /*
52
+
53
+ #define MACRO_G*/
54
+
55
+ /*
56
+
57
+ #define MACRO_H
58
+
59
+ */
60
+
61
+ ```
62
+
63
+
64
+
65
+ ```cpp
66
+
67
+ /* sample.c */
68
+
69
+ #include "macro.h"
70
+
71
+
72
+
73
+ #undef MACRO_C
74
+
75
+
76
+
77
+ #ifdef MACRO_A1
78
+
79
+ #define MACRO_A2
80
+
81
+ #endif
82
+
83
+
84
+
85
+ #ifndef MACRO_B
86
+
87
+ #undef MACRO_D
88
+
89
+ #define MACRO_A3
90
+
91
+ #endif
92
+
93
+
94
+
95
+ ```
96
+
97
+
98
+
13
- 有効なマクロの一覧取得したいです。
99
+ 上記の場合、以下のように有効なマクロの一覧取得したいです。
100
+
101
+
102
+
103
+ ```
104
+
105
+ MACRO_A
106
+
107
+ MACRO_A1
108
+
109
+ MACRO_A2
110
+
111
+ MACRO_A3
112
+
113
+
114
+
115
+ ```
14
116
 
15
117
 
16
118
 

3

2021/10/07 05:39

投稿

l9uftn
l9uftn

スコア3

test CHANGED
File without changes
test CHANGED
@@ -54,4 +54,4 @@
54
54
 
55
55
  言語:Visual C++
56
56
 
57
- 生成物:DLL(ActiveX コントロー)
57
+ 生成物:DLL(ActiveX コントロー)

2

参考にしているリンクを変更しました。

2021/10/06 10:20

投稿

l9uftn
l9uftn

スコア3

test CHANGED
File without changes
test CHANGED
@@ -18,13 +18,19 @@
18
18
 
19
19
 
20
20
 
21
+ gcc や clang で -dM オプションを利用するように、
22
+
21
- 下記のリンクのように、定義済みのマクロの一覧を取得したいのですが、
23
+ 定義済みのマクロの一覧を取得したいのですが、
22
24
 
23
25
  Visual C++ (Visual Studio 2010) で同様のことを実現する方法が見つかりませんでした。
24
26
 
25
27
 
26
28
 
29
+ (参考)
30
+
31
+ [知っていると便利な gcc のオプション](https://www.unixuser.org/~euske/doc/gccopts/)
32
+
27
- [clang の定義済みマクロを取得する - Secret Garden(Instrumental)](https://secret-garden.hatenablog.com/entry/2015/07/17/000000)
33
+ [gccプリプロセッサの定義済みマクロ(Predefined Macros)の確認方法 - Qiita](https://qiita.com/naohikowatanabe/items/a4e1a3f8080210257a42)
28
34
 
29
35
 
30
36
 

1

コメントを追加しました。

2021/10/06 06:47

投稿

l9uftn
l9uftn

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,9 @@
1
+ 下記の件につきまして、
2
+
3
+ 解決策や代替案、その他何らかの知見等ございましたら、お教えいただけないでしょうか。
4
+
5
+
6
+
1
7
  ### 前提・実現したいこと
2
8
 
3
9