回答編集履歴

1

cpp使用の方法を追加

2021/04/10 07:06

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -27,3 +27,57 @@
27
27
  _print(i)
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ Jupyter向きではありませんが、linuxなどでcppとmakeとかが使える環境であれば
34
+
35
+ cppを使って生成するという方法もあります。
36
+
37
+ こんな感じです。
38
+
39
+
40
+
41
+ ```bash
42
+
43
+ $ cat test.pyx
44
+
45
+ #define DEBUG
46
+
47
+ #ifdef DEBUG
48
+
49
+ #define _print(data) print(data)
50
+
51
+ #else
52
+
53
+ #define _print(data)
54
+
55
+ #endif
56
+
57
+
58
+
59
+ i = 10
60
+
61
+ _print(i)
62
+
63
+
64
+
65
+ def foo(bar):
66
+
67
+ _print(bar)
68
+
69
+ return bar + 1
70
+
71
+ $ cpp test.pyx >test.py
72
+
73
+ $ python test.py
74
+
75
+ 10
76
+
77
+ ```
78
+
79
+ この最初の部分をincludeファイルに入れといて、各ソースはそれをインクルードし、
80
+
81
+ DEBUGが定義されているかどうかでソースを作り分けるようなMakefileを作って置けば
82
+
83
+ オーバーヘッドなしでできます。