⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java_super.h

📁 C调用Java的一个例子程序
💻 H
字号:
/* ^_^ 
 *
 *		Copyright (c) 2006 Hexin
 *
 *	Description:
 *	  TODO:
 *	Create:
 *		Date			  Time				Author
 *	------------------------------------------------
 *   2006-4-1           15:28:00			XiaoWei
 */

/* ^_^ 
 *	 Location : 
 *	 File     : JAVA_Super.h
 *	 Version  : 1.0.0.0
 *	 Note     : 
 */
#ifdef __JAVA_Super_h__

#ifdef _JNI_CPP_MUL
#define  _SuperMul()  setEnv()
#else
#define  _SuperMul()  
#endif

#define  __SUPERFIRST()  getentironment();JNI_Env * __lpEnv = getEnv(); JNI_Class __class = m_class; JNI_MethodID __mid;
#define  __SUPER(_csig) do{__mid = JAVA_Base::GetMethodID(__lpEnv,__class,"<init>",_csig);}while(0)
#define  __NewObject  m_object = __lpEnv->NewObject
#define  __INIT()		
protected:
	void _super()
	{
		__SUPERFIRST();
		__SUPER("()V");
 		__NewObject(__class,__mid);		
		__INIT();

	}

	template<typename _T1>//1
	void _super(const char* _csig,_T1 _t1)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1);
		__INIT();
	}

	template<typename _T1,typename _T2>//2
	void _super(const char* _csig,_T1 _t1,_T2 _t2)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1,_t2);
		__INIT();
	}


	template<typename _T1,typename _T2,typename _T3>//3
	void _super(const char* _csig,_T1 _t1,_T2 _t2, _T3 _t3)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1,_t2,_t3);
		__INIT();
	}

	template<typename _T1,typename _T2,typename _T3,typename _T4>//4
	void _super(const char* _csig,_T1 _t1,_T2 _t2,_T3 _t3, _T4 _t4)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1,_t2,_t3,_t4);
		__INIT();
	}

	template<typename _T1,typename _T2,typename _T3,typename _T4,typename _T5>//5
	void _super(const char* _csig,_T1 _t1,_T2 _t2,_T3 _t3,_T4 _t4, _T5 _t5)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1,_t2,_t3,_t4,_t5);
		__INIT();
	}


	template<typename _T1,typename _T2,typename _T3,typename _T4,typename _T5,typename _T6>//6
	void _super(const char* _csig,_T1 _t1,_T2 _t2,_T3 _t3,_T4 _t4, _T5 _t5,_T6 _t6)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1,_t2,_t3,_t4,_t5,_t6);
		__INIT();
	}

	template<typename _T1,typename _T2,typename _T3,typename _T4,typename _T5,typename _T6,typename _T7>//7
	void _super(const char* _csig,_T1 _t1,_T2 _t2,_T3 _t3,_T4 _t4, _T5 _t5,_T6 _t6,_T7 _t7)
	{
		__SUPERFIRST();
		__SUPER(_csig);
		__NewObject(__class,__mid,_t1,_t2,_t3,_t4,_t5,_t6,_t7);
		__INIT();
	}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -