teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

加筆

2020/05/22 02:22

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -23,4 +23,15 @@
23
23
  }
24
24
  #endif
25
25
  ```
26
- てなコード書いて、テスト時はコンパイルオプション: -DTEST を付けとく、と。
26
+ てなコード書いて、テスト時はコンパイルオプション: -DTEST を付けとく、と。
27
+
28
+ あるいはテスト・コードに:
29
+ ```
30
+ namespace mylib {
31
+ #include "オレオレ標準関数.h"
32
+ }
33
+ ```
34
+ とか。
35
+
36
+ ※ このとき マジもんの./memset.o と テスト用(名前空間で括った) test/memset.o の
37
+  ふたつを作っといてテスト時はtest/memset.o をリンクすることになります。

1

追記

2020/05/22 02:22

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -7,8 +7,20 @@
7
7
  namespace mylib {
8
8
  void *memset(void *b, int c, long len);
9
9
  }
10
-
11
10
  ...
12
11
  memset(...); // 標準memset
13
12
  mylib::memset(...); // オレオレmemset
14
- ```
13
+ ```
14
+
15
+ [追記] なので、テストのときだけ名前空間で括るってテがあります。
16
+ ```
17
+ #ifdef TEST
18
+ namespace mylib {
19
+ #endif
20
+ void *memset(void *b, int c, long len);
21
+ ...
22
+ #ifdef TEST
23
+ }
24
+ #endif
25
+ ```
26
+ てなコード書いて、テスト時はコンパイルオプション: -DTEST を付けとく、と。