1. 程式人生 > >MMP檔案 簡單認識與應用

MMP檔案 簡單認識與應用

其實我也覺得這個題目很怪,可是這個MMP的確是我沒有注意的地方,今天我重新學習了下這個檔案。

. mmp 檔案為 S60 工程定義檔案。一個 S60 工程通常包含很多檔案, . mmp 檔案定義了工程內的檔案及其組織。這是一個非常重要的檔案

由於以前的疏忽,讓我在現在的應用中飽受煎熬。

l 例子 .mmp 檔案

l .mmp 檔案中欄位說明

例子.mmp 檔案

下面是S60Helo World Basic 例子工程.mmp 檔案, 本檔案顯示了.mmp 檔案的基本內容:

/* Copyright (c) 2005-2006, Nokia. */

TARGET            HelloWorldBasic.exe

TARGETTYPE        exe

UID               0x102032BE

SECUREID          0xA000017F

EPOCSTACKSIZE     0x5000

//以上應該都是比較簡單的標識,我們在應用中除了程式需求大要改 EPOCSTACKSIZE(堆)大小,這個

//幾乎很難用到,倒是棧的大小可以改,但是要注意手機的能力

SOURCEPATH        ../src

SOURCE            HelloWorldBasic.cpp

SOURCE            HelloWorldBasicApplication.cpp

SOURCE            HelloWorldBasicAppView.cpp

SOURCE            HelloWorldBasicAppUi.cpp

SOURCE            HelloWorldBasicDocument.cpp

SOURCEPATH        ../data

START RESOURCE    HelloWorldBasic.rss

HEADER

TARGETPATH        resource/apps   這個我沒有看懂是什麼

END //RESOURCE

START RESOURCE    HelloWorldBasic_reg.rss

#ifdef WINSCW

TARGETPATH        /private/10003a3f/apps

#else

TARGETPATH        /private/10003a3f/import/apps

#endif

END //RESOURCE

USERINCLUDE       ../inc

SYSTEMINCLUDE     /epoc32/include

//上面這2個路徑很重要,在匯入靜態庫,系統其他庫的時候要修改,新增

LIBRARY           euser.lib

LIBRARY           apparc.lib

LIBRARY           cone.lib

LIBRARY           eikcore.lib

LIBRARY           avkon.lib

LIBRARY           commonengine.lib

LIBRARY           efsrv.lib

LIBRARY           estor.lib

LANG SC

VENDORID          0

CAPABILITY        NONE

// End of File

.mmp 檔案 中欄位說明

一個 .mmp 檔案中包含了很多欄位。現在我們列出非常重要的一些欄位如下:

l TARGET

輸出檔名,既建立應用程式可執行檔案的檔名

l TARGETTYPE

應用程式型別。在S60 3rd 中應用程式型別永遠為.exe

l UID

應用程式的UIDUID 指定了安裝包檔案(.pkg) 所需要的東西。更多關於UID 的說明請參見

l SECUREID

本地(應用程式所安裝手機)唯一安全標識(SID )。每一個可執行的應用程式都包含一個安全標識(SID )。SID 用途如下:

n 標識哪些私有目錄可被訪問

n 定義了呼叫都應用程式

SID 可在工程定義檔案(.mmp 檔案) 中的SECUREID 欄位裡定義。假設沒有給出SEUREID ,則.mmp 檔案裡的UID3 被使用。如果UID3 也沒有定義則KNullUID 則被使用。

l EPOCSTACKSIZE

最大堆疊大小(這麼講我覺得有點問題)

l SOURCEPATH

原始檔(.cpp 檔案)所在目錄

l SOURCE

應用程式中所使用原始檔, 如上例中的SOURCE HelloWorldBasic.cpp

l RESOURCE

應用程式中所使用之資原始檔

l USERINCLUDE

使用者包含標頭檔案所在目錄

l SYSTEMINCLUDE

系統標頭檔案所在目錄

l LIBRARY

應用程式需要哪些庫檔案(.lib 檔案) ,如上例中的LIBRARY euser.lib

l LANG

列出應用程式所支援的語言,如上例中的LANG SC

l VENDORID

供應方標識(Vendro Identifer--VID)VID 唯一的標識了一個應用程式。

n 未簽名的應用程式有一個未定義的VID0

n 所已簽名的來自同一供應言方的應用程式使用相同VID

n 編譯應用程式後VID 不可更改

l CAPABILITY

本欄位定義了應用程式的適應性,假如.mmp 檔案裡沒有給出CAPABILITY 宣告,則使用預設值CAPABILITY NONE

本欄位只針對已簽名應用程式;在S60 中未簽名的應用程式是不能被安裝到裝置上的。

感謝前人

相關推薦

MMP檔案 簡單認識應用

其實我也覺得這個題目很怪,可是這個MMP的確是我沒有注意的地方,今天我重新學習了下這個檔案。 . mmp 檔案為 S60 工程定義檔案。一個 S60 工程通常包含很多檔案, . mmp 檔案定義了工程內的檔案及其組織。這是一個非常重要的檔案 由於以前的疏忽,讓我在現在的應

iptables簡單命令應用

iptables 簡單命令 應用 配置文件目錄bash> vim /etc/sysconfig/iptablesWEB服務器,開啟80端口.bash> iptables -A INPUT -p tcp --dport 80 -j ACCEPT郵件服務器,開啟一組端口.bash>

C++ RCSP智能指針簡單實現應用

自定義類 例子 定義 memcpy 智能指針 cto ted 分配 思路 智能指針的實現代碼來源博客:《http://blog.csdn.net/to_be_better/article/details/53570910》 修改:添加 get()函數,用以獲得原始指針(ra

springboot2.0x全系列一springboot2.0x整合ActiveMQ(簡單整合應用

ActiveMQ ActiveMQ 是Apache出品,最流行的,能力強勁的開源訊息匯流排。ActiveMQ 是一個完全支援JMS1.1和J2EE 1.4規範的 JMS Provider實現,儘管JMS規範出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。 特性 多種語

iOS中runtime(執行時)的簡單介紹應用

最近學習到runtime這一塊知識了所以就總結一下,以備以後要用。但是由於runtime這一塊的知識比較多所以今天在這裡只是做一個簡單的總結。 一、什麼是Runtime? Objective-C runtime是一個實現Objective-C語言的

Linux下proc檔案系統介紹應用

proc檔案系統的作用 (1) 核心專案太龐大,除錯困難,引入新的除錯方法。 (2) proc檔案系統的思路是:在核心中構建一個虛擬檔案系統/proc,核心執行時將核心中一些關鍵的資料結構以檔案的方式呈現在/proc目錄下的一些特定檔案中, 這樣相當於將不可見的核心中的資料結構以

ubuntu docker簡單入門應用

本文使用ubuntu為底層環境,其他發行版除了安裝方式不一樣,別的基本都一樣。 安裝docker 因為ubuntu官方源的docker版本不是最新,所以這裡更新一下docker官方源,以獲取最新版

【FFMpeg視訊開發應用基礎】一、使用FFmpeg命令列工具和批處理指令碼進行簡單的音視訊檔案編輯

《FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK》視訊教程已經在“CSDN學院”上線,視訊中包含了從0開始逐行程式碼實現FFMpeg視訊開發的過程,歡迎觀看!連結地址:FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK

tomcat的簡單配置適用默認的web應用

復制 ava 實用 jar 文件的 pps 定制 jdk name 指定tomcat端口: server.xml: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout

shell腳本基礎的簡單介紹簡單應用

shell 變量 基礎 Shell腳本是Linux中很重要的一種“程序”。什麽shell腳本?shell腳本是提前設計的可執行語句,用來完成特定任務的文件。Shell腳本可分為交互式和非交互式交互式:指腳本在運行時,需要一些人為的參與,比如,鍵盤輸入數據,確認選項等。因為有人為的參與,所以運行時更加智能化,但

kmp算法原理應用簡單易懂)

tex font http ont image inf csdn 簡單 算法 kmp算法原理與應用(簡單易懂)

關於繼承多型的簡單認識

(1)繼承條件下的構造方法呼叫 package Demo1; class Grandparent { public Grandparent() { System.out.println("GrandParent Created.");

web應用,HTTP協議以及Django初次認識安裝

tran char 服務器 list div content nbsp 安裝 我們 一、對於web應用的認識(web應用詳情https://www.cnblogs.com/liuqingzheng/articles/9509785.html) 簡述:可以從我們之前學習的網絡

檔案上傳下載的簡單案例

檔案上傳       同時構建這個controller的過程中遇到最大的一個bug是: 得構建一個檢視資源管理器,因為controller中必須得認識ModelAndView,String型別 沒有ModelA

系統分析設計方法---簡單分散式計算機應用系統的設計

簡單分散式計算機應用系統的設計     網路極大地擴充套件了計算機的應用範圍,同時,由於升級到更強的伺服器的費用常常遠遠高於購買多臺檔次稍低的機器,更何況雖然計算機有了長足的發展,可是單臺計算機的功能仍然十分有限,利用聯網的計算機協同工作,共同完成複雜的工作成為相對成本較低

01: 儲存技術應用 iSCSI技術應用 、 udev配置 NFS網路檔案系統 、 Multipath多路徑 、 NFS網路檔案系統 、 udev配置

Top NSD CLUSTER DAY01 1 案例1:配置iSCSI服務 1.1 問題 本案例要求先搭建好一臺iSCSI伺服器,並將整個磁碟共享給客戶端: 伺服器上要額外配置一塊硬碟 服務端安裝target,並將新加的硬碟配置為iSCSI 的共享磁碟 在客

迴圈 分支語句 和 字元函式庫cctype 檔案簡單處理

迴圈 for迴圈 while迴圈 do  while迴圈 通常,入口條件迴圈比出口條件迴圈好,因為迴圈開始前對條件進行檢查 c++11基於範圍的for迴圈    對陣列(或容器類,如:vector和array)的每個元素執行相同操作 int a[5]={1,3,4,5,6};            f

Unity下關於C#的檔案讀寫三(Json格式讀寫-基於LitJson簡單認識)

Unity使用LitJson需要下載litjson.dll檔案,放置在工程中的Plugins資料夾下(如果沒有自己新建); 使用using LitJson; 名稱空間 一: 類轉換為Json格式文字: //首先隨意建立一個類 public class

springmvc 專案完整示例01 需求資料庫表設計 簡單的springmvc應用例項 web專案

一個簡單的使用者登入系統 使用者有賬號密碼,登入ip,登入時間 開啟登入頁面,輸入使用者名稱密碼 登入日誌,可以記錄登陸的時間,登陸的ip 成功登陸了的話,就更新使用者的最後登入時間和ip,同時記錄一條登入記錄 大致就是這樣子 ----------------------- 建立資料庫 n

深度學習框架tensorflow學習應用4(MNIST資料集分類的簡單版本示例)

資料集 我們要訓練機器學習, 那麼就要用到訓練資料. 這次我們使用MNIST_data資料集 在程式中要匯入該資料集, 語句:mnist = input_data.read_data_sets("MNIST_data", one_hot=True)one_hot 意思是把資料集變成[