HelloWorld SymbianOS

本日はSymbianOSのコンパイル環境にてHelloWorldを表示するためのプログラムです。
っと言っても、開発環境のプロジェクトを作るとまるまる同じソースが出来上がります。
こちらのソースはテキストベースの表示になりますので、GUI形式の表示はまた別になります。
ソースの内部の説明に関しましては、また次回に書かせていただきます。



/*
============================================================================
Name : HelloWorld.cpp
Author :
Copyright : Your copyright notice
Description : Exe source file
============================================================================
*/

// Include Files

#include "HelloWorld.h"
#include < e32base.h >
#include < e32std.h >
#include < e32cons.h > // Console

// Constants

_LIT(KTextConsoleTitle, "Console");
_LIT(KTextFailed, " failed, leave code = %d");
_LIT(KTextPressAnyKey, " [press any key]\n");

// Global Variables

LOCAL_D CConsoleBase* console; // write all messages to this


// Local Functions

LOCAL_C void MainL()
       {
       //
       // add your program code here, example code below
       //
       console->Write(_L("Hello, world!\n"));
       }

LOCAL_C void DoStartL()
       {
       // Create active scheduler (to run active objects)
       CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
       CleanupStack::PushL(scheduler);
       CActiveScheduler::Install(scheduler);

       MainL();

       // Delete active scheduler
       CleanupStack::PopAndDestroy(scheduler);
       }

// Global Functions

GLDEF_C TInt E32Main()
       {
       // Create cleanup stack
       __UHEAP_MARK;
       CTrapCleanup* cleanup = CTrapCleanup::New();

       // Create output console
       TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(
                     KConsFullScreen, KConsFullScreen)));
       if (createError) {
              return createError;
       }

       // Run application code inside TRAP harness, wait keypress when terminated
       TRAPD(mainError, DoStartL());
       if (mainError) {
              console->Printf(KTextFailed, mainError);
       }
       console->Printf(KTextPressAnyKey);
       console->Getch();

       delete console;
       delete cleanup;
       __UHEAP_MARKEND;
       return KErrNone;
       }


にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマへ
にほんブログ村