日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Q:一个经典的helloworld程序需要几个文件?

發布時間:2025/1/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Q:一个经典的helloworld程序需要几个文件? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

l??????? 一個安裝文件bld.inf,這個文件內容很簡單,只給出了要編譯的工程文件,當然如果有多個工程文件要編譯,可以直接寫到后面如x.mmp

PRJ_MMPFILES

HelloworldApp.mmp

x.mmp

l??????? 一個工程文件helloworldApp.mmp,這個文件列出了工程需要的所有文件和用到的庫,還有UID等。

TARGET????????? ?HelloworldApp.app

TARGETTYPE????? app

TARGETPATH????? \system\apps\helloworldapp

UID???????????? ???0x100039CE 0x0a3c7184???

USERINCLUDE???? ..\inc

SYSTEMINCLUDE?? \epoc32\include

?

SOURCEPATH????? ..\src

SOURCE????????? ?HelloworldApp.cpp

?

SOURCEPATH????? ..\data

RESOURCE??????? HelloworldApp.rss

RESOURCE ???????HelloworldApp_caption.rss

LANG???? SC

?

LIBRARY euser.lib apparc.lib cone.lib eikcore.lib eikcoctl.lib avkon.lib

?

AIF HelloworldApp.aif ..\aif HelloworldAppaif.rss c8 context_pane_icon.bmp context_pane_icon_mask.bmp list_icon.bmp list_icon_mask.bmp

l??????? 一個UID的文件HelloworldApp.uid.cpp,該文件包含了一個程序的uid

l??????? 一個程序的資源文件helloworldApp.rss, HelloworldApp_caption.rss,這兩個文件包含了程序的大多數文本資源。

l??????? 一個程序的頭文件HelloworldApp.h和一個程序的源文件HelloworldApp.cpp

l??????? 一個包文件HelloworldApp.pkg

l??????? 若干個圖片文件在aif目錄中。

?

一個經典的HelloworldApp程序有四個類,并且采用了MVC模式來構建程序,這四個類分別是應用程序類CHelloworldAppApplication,文檔類CHelloworldAppDocument,程序界面控制類CHelloworldAppUi和程序界面視圖類CHelloworldAppView

一般情況下,一個經典的HelloworldApp程序包含的頭文件有:

#include <eikapp.h>???????????? // CEikApplication

#include <eikdoc.h>???????????? // CEikDocument

#include <coecntrl.h>?????????? // CCoeControl

#include <uikon.hrh>??????????? // Command codes

#include <eikenv.h>???????????? // CEikonEnv

#include <eiklabel.h>?????????? // CEikLabel

#include <aknappui.h>?????????? // CAknAppUi

#include <aknnotewrappers.h>??? // CAknInformationNote

?

CHelloworldAppApplication繼承自CEikApplication,

CHelloworldAppDocument繼承自CEikDocument,

CHelloworldAppView繼承自CCoeControl,并使用了CEikLabel類,

CHellowroldAppUi繼承自CAknAppUi

uikon.hrh文件包含了控件界面的命令映射,aknnotewrappers.h文件包含了一個顯示提示信息的便簽類CAknInformationNote(有點類似于VC中的MessageBox)。

?

下面是四個類的聲明代碼:

//----------------------------------------------------------------------------

// CHelloworldAppApplication

//----------------------------------------------------------------------------

class CHelloworldAppApplication : public CEikApplication

{

private:??? // From CEikApplication

??? CApaDocument* CreateDocumentL();

?

private:??? // From CApaApplication (via CEikApplication)

??? TUid AppDllUid() const;

};

?

//----------------------------------------------------------------------------

// CHelloworldAppDocument (Model)

//----------------------------------------------------------------------------

class CHelloworldAppDocument : public CEikDocument

{

public:???? // Constructor

??? CHelloworldAppDocument(CEikApplication& aApp);

?

private:??? // From CEikDocument

??? CEikAppUi* CreateAppUiL();

};

?

//----------------------------------------------------------------------------

// CHelloworldAppAppUi (Controller)

//----------------------------------------------------------------------------

class CHelloworldAppAppUi : public CAknAppUi

{

public:???? // Constructors and destructor

??? void ConstructL(void);? ?// 兩段構造

??? ~CHelloworldAppAppUi();? // 為什么要用虛的

?

private:??? // From CEikAppUi

??? void HandleCommandL(TInt aCommand); // 處理按鍵命令

?

private:??? // Data

??? CHelloworldAppContainer* iAppContainer;

};

?

//----------------------------------------------------------------------------

// CHelloworldAppContainer (View)

//----------------------------------------------------------------------------

class CHelloworldAppContainer : public CCoeControl, MCoeControlObserver

{

public:???? // Constructors and destructor

??? void ConstructL(const TRect& aRect);

??? ~CHelloworldAppContainer();

?

public:???? // New functions

?

public:???? // From CCoeControl

??? void SizeChanged();

??? TInt CountComponentControls() const;

??? CCoeControl* ComponentControl(TInt aIndex) const;

??? void Draw(const TRect& aRect) const;

?

public:???? // From MCoeControlObserver

??? void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);

?

private:??? // Data

??????? CEikLabel* iLabel;????????? // example label

??????? CEikLabel* iToDoLabel;?? ???// example label

};

總結

以上是生活随笔為你收集整理的Q:一个经典的helloworld程序需要几个文件?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。