×
Namespaces

Variants
Actions

エミュレータと実機の違い

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Compatibility
Platform(s):
Symbian
Article
Translated:
By masatoshi
Last edited: hamishwillee (09 Dec 2011)

エミュレータは、 実機(real device)とほとんど同様に振舞います(behaves)。Symbian OSのコードは、ターゲット端末エミュレータ向けの両方が、同じソースコードからコンパイルされます。ソースコードは、いくつか違い(deviation)を含むこともあります。(例えば、もしアセンブラで書かれた関数がある場合、明らかにx86ARMの両方のバージョンを作成する必要があります。)よって、GUIアプリケーションだけでなく、システム・レベルのコードの開発にも、エミュレータを使うことが出来ます。実機で動作するものは、全てエミュレータでも動作するでしょうか? 全てではありません - どんなエミュレータもそんなによくはありません。しかし、ほとんどの部分に関して、それは同等です。

エミュレータと実機での主な違い

  • ハードウェア

最も明確な違いは、エミュレータの基礎をなすハードウェアは、実機のものと違います。PCのプロセッサー命令セットは違います - PCはx86 を、実機はARMを採用しています。しかし、C/C++ 言語によって、簡単にこれは隠されています。しかし、より重要な違いは、周辺のハードウェアの違いです。デバイス・ドライバやハードウェア抽象化レイヤのコードは使用できません。エミュレータでは、ハードウェアへのアクセスは、適切なWindows API の呼び出しに変換されます。

  • ピクセルとフォント

ほとんどの場合、GUIアプリケーションの表示は、エミュレータと実機でほとんど同じですが、ピクセルのサイズがこの2つの間で違います。例えば、エミュレータでは途中で省略されるテキストが、実機では省略されない場合や、その逆のことがありえます。このことは、例えば、翻訳の確認のためにエミュレータしかない場合は、これが問題になるかもしれません。

  • DLL の静的変数

静的変数は、エミュレータで使用できますが、実機ではできません。もち、開発のほとんどをエミュレータで行っている場合は、このことに注意してください。 - プロジェクトを遅らせることになる、大量の静的変数の検索と削除を避けたいと思うでしょう。

  • シングル・プロセスとマルチ・プロセス

エミュレータはシングル・プロセスで動きます。一方、実機はSymbian OSのマルチ・プロセス機能をサポートしています。In Symbian OS v8 とそれ以降では、この違いは、隠されており、プロセスを開始やコントロールするAPIは、エミュレートされます。しかしながら、それより古いバージョンのSymbian OS では、(#ifdef __WINS__ で囲った)特別なコードを書いて、プロセスをエミュレートするスレッドを使う必要があります。ありがたいことに、これを実装するコードはもはや必要ありません。


訳注:SDK ヘルプの次の箇所も参考にしてください。
Emulator/native platform differences

This page was last modified on 9 December 2011, at 06:13.
156 page views in the last 30 days.