これにより、企業への作品提出にOSごと送りつけるという、面白いことができるわけだ(迷惑かな?)。
ただ、VC++とG++の違いを意識しなくてはならなくなった。具体的にはインラインアセンブラの構文や一部の関数が異なり、現時点では_MSC_VERマクロの有無で切り分けるようにしている。
01 | float Vec::length() const |
02 | { |
03 | float len = x*x+y*y+z*z; |
04 | #ifdef _MSC_VER |
05 | __asm |
06 | { |
07 | fld len |
08 | fsqrt |
09 | fstp len |
10 | } |
11 | #else |
12 | len = sqrt (len); |
13 | #endif |
14 | return len; |
15 | } |
wxWidgetsはソースコードレベルでの互換性を保障しているわけだが、実際には結構な部分に手を加えなければならなかった。今後は、移植を前提とした書き方に慣れる必要があるだろう。
C#やJavaなどのVM上で動く言語が主流になるのも頷ける。
0 件のコメント:
コメントを投稿