·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
您现在的位置:天新网 > 软件开发 > 游戏开发
Nebula2探秘01-创建KernelServer&使用log
http://www.21tx.com 2007年05月11日 happykevins

Nebula2探秘01-创建KernelServer&使用log

happykevins文

Nebula2探秘01-创建KernelServer&使用log/****************************************************************************/
Nebula2探秘01-创建KernelServer&使用log
/*    Nebula2 - Tutorial 01                                                    */
Nebula2探秘01-创建KernelServer&使用log
/*  创建KernelServer & 使用log                                                */
Nebula2探秘01-创建KernelServer&使用log
/*  author: happykevins                                                        */
Nebula2探秘01-创建KernelServer&使用log
/****************************************************************************/
Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
/// +必要头文件

Nebula2探秘01-创建KernelServer&使用log#include "kernel/nkernelserver.h"
Nebula2探秘01-创建KernelServer&使用log#include 
"kernel/nloghandler.h"
Nebula2探秘01-创建KernelServer&使用log#include 
"kernel/nwin32loghandler.h"
Nebula2探秘01-创建KernelServer&使用log
/// -必要头文件
Nebula2探秘01-创建KernelServer&使用log
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
/// +链接库
Nebula2探秘01-创建KernelServer&使用log
///
Nebula2探秘01-创建KernelServer&使用log
/// @wsock32.lib: nRemoteServer(nIpcServer)所需要的库
Nebula2探秘01-创建KernelServer&使用log
///                 nRemoteServer是对KernelServer进程间控制的接口

Nebula2探秘01-创建KernelServer&使用log#pragma comment(lib, "wsock32.lib")
Nebula2探秘01-创建KernelServer&使用log
///
Nebula2探秘01-创建KernelServer&使用log
/// @d_nkernel.lib: nKernel的静态链接库,Debug版本

Nebula2探秘01-创建KernelServer&使用log#pragma comment(lib, "d_nkernel.lib")
Nebula2探秘01-创建KernelServer&使用log
///
Nebula2探秘01-创建KernelServer&使用log
/// -链接库
Nebula2探秘01-创建KernelServer&使用log
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
/// +Application

Nebula2探秘01-创建KernelServer&使用logint main(int argc, const char** argv)
Nebula2探秘01-创建KernelServer&使用log
{
Nebula2探秘01-创建KernelServer&使用log    
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log    
/// +初始化KernelServer
Nebula2探秘01-创建KernelServer&使用log    
/// @note: 
Nebula2探秘01-创建KernelServer&使用log    
///    1.    虽然KernelServer可以作为Singleton全局访问,然而其生命周期还是需要访问者自己控制.
Nebula2探秘01-创建KernelServer&使用log    
///    2.    使用者不必使用nNebulaUsePackage(nkernel)和AddPackage来包含添加包,Nebula2的KernelServer已经
Nebula2探秘01-创建KernelServer&使用log    
///        在创建时自动做好了这些事情.
Nebula2探秘01-创建KernelServer&使用log    
///    3.    KernelServer在实例化后会在NOH系统中自动添加4个服务nFileServer2,nPersistServer,nRemoteServer
Nebula2探秘01-创建KernelServer&使用log    
///        和nTimeServer.所以这4个服务是使Nebula2的kernel能够顺利运行所必需的.
Nebula2探秘01-创建KernelServer&使用log    
///        以下是四个Server的NOH路径和用途简介:
Nebula2探秘01-创建KernelServer&使用log    
///        nFileServer2    : "/sys/servers/file2"        --文件服务
Nebula2探秘01-创建KernelServer&使用log    
///        nPersistServer    : "/sys/servers/persist"    --对象持久化服务
Nebula2探秘01-创建KernelServer&使用log    
///        nRemoteServer    : "/sys/servers/remote"        --远程控制服务(依赖ScriptServer)
Nebula2探秘01-创建KernelServer&使用log    
///        nTimeServer        : "/sys/servers/time"        --时间服务
Nebula2探秘01-创建KernelServer&使用log    
///

Nebula2探秘01-创建KernelServer&使用log    nKernelServer nkernel;
Nebula2探秘01-创建KernelServer&使用log    
/// -初始化KernelServer
Nebula2探秘01-创建KernelServer&使用log    
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log    
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log    
/// +使用KernelServer的当前日志系统记录日志
Nebula2探秘01-创建KernelServer&使用log    
/// @note:
Nebula2探秘01-创建KernelServer&使用log    
///    1.    在Win32环境下可以使用nwin32loghandler来替代KernelServer默认的loghandler
Nebula2探秘01-创建KernelServer&使用log    
///        可以用KernelServer的SetLogHandler来替换.
Nebula2探秘01-创建KernelServer&使用log    
///

Nebula2探秘01-创建KernelServer&使用log    // 以下是对默认log系统的使用范例
Nebula2探秘01-创建KernelServer&使用log
    nkernel.Print("log common msg! ");
Nebula2探秘01-创建KernelServer&使用log    n_printf(
"log common msg! ");
Nebula2探秘01-创建KernelServer&使用log    nkernel.Message(
"log important msg! ");
Nebula2探秘01-创建KernelServer&使用log    n_message(
"log important msg! ");
Nebula2探秘01-创建KernelServer&使用log    nkernel.Error(
"log error msg! ");
Nebula2探秘01-创建KernelServer&使用log    
//n_error("log error msg! "); // executing this line, app will crash
Nebula2探秘01-创建KernelServer&使用log
    nkernel.Print(" Press Any Key...");
Nebula2探秘01-创建KernelServer&使用log#ifdef __WIN32__
Nebula2探秘01-创建KernelServer&使用log    
// 使用win32loghandler替换掉defaultloghandler
Nebula2探秘01-创建KernelServer&使用log
    nWin32LogHandler* pWin32LogHandler = n_new(nWin32LogHandler("T01"));
Nebula2探秘01-创建KernelServer&使用log    nkernel.SetLogHandler(pWin32LogHandler);
Nebula2探秘01-创建KernelServer&使用log    
// 以下是对Win32 log系统的使用范例
Nebula2探秘01-创建KernelServer&使用log
    n_printf("log common msg! ");
Nebula2探秘01-创建KernelServer&使用log    n_message(
"log important msg! ");
Nebula2探秘01-创建KernelServer&使用log    n_dbgout(
"log dbg msg! win32 only! ");
Nebula2探秘01-创建KernelServer&使用log    
//n_error("log error msg! "); // executing this line, app will crash
Nebula2探秘01-创建KernelServer&使用log
#endif
Nebula2探秘01-创建KernelServer&使用log    
///
Nebula2探秘01-创建KernelServer&使用log    
/// -使用KernelServer的当前日志系统记录日志
Nebula2探秘01-创建KernelServer&使用log    
///----------------------------------------------------------------------------

Nebula2探秘01-创建KernelServer&使用log
Nebula2探秘01-创建KernelServer&使用log    getchar();
Nebula2探秘01-创建KernelServer&使用log    
return 0;
Nebula2探秘01-创建KernelServer&使用log}

Nebula2探秘01-创建KernelServer&使用log
/// -Application
Nebula2探秘01-创建KernelServer&使用log
///----------------------------------------------------------------------------
Nebula2探秘01-创建KernelServer&使用log
 

上一篇: Nebula2探秘08-对象序列化
下一篇: Nebula2探秘06-使用Tcl脚本服务I

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net