自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在bada程序中使用共享庫

移動開發(fā)
本文介紹了如何在bada程序中使用共享庫,共享或動態(tài)庫是一個二進(jìn)制文件,包括一套可調(diào)用的C/C++方法。文件說明了如何創(chuàng)建共享庫,將它們連接到你的撤出那個徐,及如何在你的程序中使用這些方法。

共享或動態(tài)庫是一個二進(jìn)制文件,包括一套可調(diào)用的C/C++方法。文件中的代碼是不限位置的,這就意味著代碼可以存在任何存儲位置被上載和執(zhí)行。Bada程序可以上載和卸載共享的庫。而interpreter(Ld.exe)會處理在運(yùn)行時間的上載和卸載流程,在共享的庫目標(biāo)和bada程序之間建立連接。

文件說明了如何創(chuàng)建共享庫,將它們連接到你的撤出那個徐,及如何在你的程序中使用這些方法。

創(chuàng)建共享庫為了創(chuàng)建共享庫,你必須首先在bada IDE中為該庫創(chuàng)建一個項(xiàng)目,為不同的連編配置定義屬性。然后,你必須定義庫API。最后,你必須構(gòu)建庫二進(jìn)制文件。如需了解更多,參見下面內(nèi)容:

創(chuàng)建庫項(xiàng)目:

為了創(chuàng)建共享庫項(xiàng)目:

在bada IDE中,選定File > New > bada Application Project;

◆如果bada Application Project選項(xiàng)不可見,確保你使用的是bada C++.

◆輸入項(xiàng)目名稱,選擇bada Shared Library project type。

◆點(diǎn)擊FINISH

 

 

圖:創(chuàng)建共享庫

設(shè)置C/C++ Build Properties

你必須為新的共享文件設(shè)置build artifact settings。要求為目標(biāo)和Simulator連編配置進(jìn)行不同的設(shè)置。

為了給Target-Debug配置設(shè)定build artifacts:

◆在bada IDE Project Explorer中,右擊共享庫項(xiàng)目,選定Properties;

◆在Properties窗口,選定C/C++ Build > Settings;

◆在Build Artifact鍵上,輸入輸出前綴lib,及artifact拓展。

當(dāng)你使用目標(biāo)設(shè)備上的共享庫時,庫的文件按名必須是”lib”開頭。

◆輸入OK。

庫文件命名為lib.so

 

 

圖:設(shè)置Target-Debug build artifact

為了給Simulator-Debug配置設(shè)置build artifacts:

◆在bada IDE Project Explorer中,右擊共享文件庫,選定Properties;

◆在Properties窗口,選擇C/C++ Build > Settings

◆在Build Artifact鍵上,輸入輸出前綴為lib,artifact 拓展名為dll.。

◆Simulator在Windows環(huán)境中運(yùn)行,動態(tài)庫為".dll"文件。因此,對Simulator來說,動態(tài)庫的缺省artifact拓展必須設(shè)置為“dll”。

◆點(diǎn)擊OK。

庫文件命名為lib.dll.

 

 

圖:設(shè)置Simulator-Debug build artifact

定義庫API

你必須在頭文件中宣布庫API,然后在相應(yīng)的.cpp文件中定義。

下面的代碼段顯示了如何為你的程序宣布庫API

 

  1. // This method is exported from libDynaLib.so  
  2.  
  3. _EXPORT_ int OspfDynaLib(void);  
  4.  
  5. // Exported user-defined class  
  6.  
  7. class _EXPORT_ MyClass {  
  8.  
  9. public:  
  10.  
  11. MyClass(void){};  
  12.  
  13. virtual ~MyClass();  
  14.  
  15. void PrintMessage(void);  
  16.  
  17. }; 

 

注:在共享庫外需要讀取的庫方法或者類必須使用_EXPORT_ macro宣布。

構(gòu)建庫

你必須構(gòu)建庫項(xiàng)目以生成庫二進(jìn)制文件。為了為每個連編配置構(gòu)建項(xiàng)目,在bada IDE中,選擇Project > Build Project。

如果連編成功,為每個配置創(chuàng)建一個相應(yīng)的二進(jìn)制文件,如下表(libDynaLib.so, libDynaLib.dll)所示。二進(jìn)制文件在項(xiàng)目的工作空間文件夾中,如, C:\bada\1.2.0\IDE\workspace\DynaLib\.Target-Debug\ libDynaLib.so。

 

 

圖:生成的庫二進(jìn)制文件

將共享庫連接到你的程序

為了在你的bada程序中使用庫的輸出方法,你必須將庫連接到你的程序,把相應(yīng)的頭文件放置在程序的.cpp文件中。此外,你必須定義庫和在程序項(xiàng)目屬性中通往其位置的搜索路徑。

為了設(shè)定在程序項(xiàng)目屬性中的庫和搜索路徑:

◆在bada IDE Project Explorer中,將lib文件夾添加到你的bada程序項(xiàng)目中;

◆復(fù)制用于目標(biāo)連編配置的共享的庫二進(jìn)制文件到新創(chuàng)建的lib文件夾中;

◆為了在Simulator運(yùn)行程序,你必須復(fù)制Simulator的連編配置的二進(jìn)制文件(.dll file) 到Simulator的庫路徑上。如,C:\bada\1.0.0\Model\Wave_LP1\Simulator\

◆在Project Explorer中,右擊程序項(xiàng)目,選定屬性

◆在Properties窗口中,選定C/C++ Build > Settings;

◆從Configuration的下拉菜單中,選定恰當(dāng)?shù)倪B編配置。

◆在Tool Settings 鍵中,選定bada C++ Linker > Miscellaneous.

◆添加在Libraries (-l)下使用的共享庫;

◆添加庫名稱,無前綴和文件拓展名。例如,添加libDynaLib.so binary文件為as DynaLib;

◆檢查Library search path (-L)下的缺省庫路徑(${PROJECT_ROOT}/lib)出口。如果沒有,新創(chuàng)的lib folder為搜素路徑。

◆點(diǎn)擊APPLY。

◆為其他連編配置重復(fù)步驟5-9.

◆保存設(shè)置,點(diǎn)擊OK。

 

 

圖:程序項(xiàng)目中的庫設(shè)置

使用共享庫方法

在你將共享庫連接到程序后,你可以使用程序中庫API定義的方法。

下面的代碼段顯示了使用共享庫的方法。

 

  1. // Using the shared library methods   
  2. AppLog("Value from OspfDynaLib = %d",OspfDynaLib());  
  3. MyClass* obj = new MyClass;  
  4. obj->PrintMessage();  
  5. delete obj; 

 

【編輯推薦】

  1. bada開發(fā):播放實(shí)時rtsp流
  2. 官方文檔:什么是bada?
  3. 官方文檔:bada API參考資料
  4. 三星bada學(xué)習(xí)筆記:HelloWorld篇
  5. 三星bada學(xué)習(xí)筆記:基本概念

 

責(zé)任編輯:佚名 來源: 三星官網(wǎng)
相關(guān)推薦

2010-04-22 10:41:18

靜態(tài)庫bada

2011-05-17 16:20:46

C++

2011-03-30 10:41:11

C++數(shù)據(jù)庫

2011-06-30 10:50:39

Qt OpenCV

2011-06-28 10:03:37

Qt OpenCV qmake

2016-01-25 15:09:22

JavaScriptC程序

2009-09-22 12:17:59

ibmdwLotus

2011-05-27 08:48:13

Android HTML

2021-09-07 10:24:36

Vue應(yīng)用程序Web Workers

2011-09-06 16:30:32

iOS系統(tǒng)靜態(tài)鏈接庫

2021-04-22 06:15:59

Linux靜態(tài)鏈接動態(tài)庫

2020-03-11 09:15:25

微信asyncawait

2009-06-19 13:45:53

Java應(yīng)用程序Jfreechart

2013-10-09 11:15:49

Ubuntu應(yīng)用程序

2011-04-19 17:06:24

bada控件bada

2009-11-23 19:52:55

ibmdwFlex

2022-08-30 20:00:37

零信任Linkerd

2009-06-25 16:49:24

Hibernate

2023-11-17 12:04:39

GORM并發(fā)

2013-12-13 17:21:14

Lua腳本語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號