Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

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

From 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 03:13.
163 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×