WEB开发网
开发学院手机开发Symbian 开发 Symbian 中程序和线程对内存的占用 阅读

Symbian 中程序和线程对内存的占用

 2010-06-22 02:57:00 来源:WEB开发网   
核心提示:[Copy to clipboard]CODE://defined in some header.typedef struct{int globalVal1;...char globalValn}GlobalData;//some .c or .cpp fileEXPORT_C void FunctionOne(){/

[Copy to clipboard]CODE:

//defined in some header.

typedef struct

{

int globalVal1;

...

char globalValn

}GlobalData;

//some .c or .cpp file

EXPORT_C void FunctionOne()

{

//Get the Dll's Tls

GlobalData* p = (GlobalData*) Dll::Tls();

FunctionOne_r ( p );

}

//re-entrant version of above function

void FunctionOne_r( GlobalData* p )

{

//use all those variables required pointed by the structure p

p->globalVal1 += 10;

p->globalValn = ‘C';

}

复制代码

假设MyDLL.DLL是一个连接2个或更多的名字是LIBRARYONE.DLL和LIBRARYTWO.DLL的DLL,那时这个MYDLL.DLL的线程将会有2个TLS为了上面的2个DLL。当MyDLL.DLL用LIBRARYONE.DLL里的功能的时候这时的TLS将会和用 LIBRARYTWO.DLL时的TLS不一样。

为WSD用客户端服务端架构

因为EXE不能被共享,Symbian OS支持EXE里的可写的共用静态数据。服务端作为一个线程来运行,可能是一个独立的线程/程序,和他的客户端分开,或有可能是兼服务端或客户端,服务端可能被嵌入到一个同样的程序象2个不同的线程。当服务端运行的象一个分开的程序的时候,可能这个是一个EXE。因为EXE可以有自己的WSD,在一般策略是把全部的共用数据放到服务端上,然后在暴露一些API例如客户端接口来让客户端修改这些共用可变数据。

上一页  1 2 3 

Tags:Symbian 程序 线程

编辑录入:coldstar [复制链接] [打 印]
赞助商链接