您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sq_gettype函数代码示例

51自学网 2021-06-03 08:11:53
  C++
这篇教程C++ sq_gettype函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sq_gettype函数的典型用法代码示例。如果您正苦于以下问题:C++ sq_gettype函数的具体用法?C++ sq_gettype怎么用?C++ sq_gettype使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sq_gettype函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: emoSetAudioChannelVolume

/* * set audio volume with given channel * * @param audio channel index * @param audio volume (0 to 1) * @return EMO_NO_ERROR if succeeds */SQInteger emoSetAudioChannelVolume(HSQUIRRELVM v) {    if (!engine->audio->isRunning()) {        sq_pushinteger(v, ERR_AUDIO_ENGINE_CLOSED);        return 1;    }    SQInteger channelIndex;    float channelVolume;    if (sq_gettype(v, 2) != OT_NULL && sq_gettype(v, 3) != OT_NULL) {        sq_getinteger(v, 2, &channelIndex);        sq_getfloat(v, 3, &channelVolume);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM_TYPE);        return 1;    }    if (channelIndex >= engine->audio->getChannelCount()) {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    SLint16 volume = (1 - channelVolume) * SL_MILLIBEL_MIN;    if (!engine->audio->setChannelVolume(channelIndex, volume)) {        sq_pushinteger(v, ERR_AUDIO_ENGINE_STATUS);        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:40,


示例2: ViHwFindControl

// 脚本调用原型:// VApiHandle VApiHwFindControl(HANDLE hWnd, string CtrlName);SQInteger ViHwFindControl(HSQUIRRELVM v){	VApiHandle       hRet           = 0;	const SQChar*    szCtrlName    = NULL;	SQInteger        nargs         = sq_gettop(v);    SQInteger        nWnd          = 0;    HANDLE           hWnd          = NULL;	CScriptMgr*      pMgr          = NULL;    CPaintManagerUI* pPM           = NULL;	if (!v || 2 + 1 != nargs) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}    if (OT_STRING != sq_gettype(v, 3)) {goto _Exit_;}	sq_getinteger(v, 2, &nWnd);    sq_getstring(v, 3, &szCtrlName);    if (-1 == nWnd) {        pMgr = (CScriptMgr*)sq_getforeignptr(v);        if (!pMgr) {goto _Exit_;}        pPM = pMgr->GetManager();    } else {        pPM = QiHwHandleToWin(nWnd)->pWinObj->GetPM();    }    if (!pPM) {goto _Exit_;}	// fixbug - 未验证pm合法性	hRet = QiHwCtrlToHandle(pPM->FindControl(szCtrlName));_Exit_:	sq_pushinteger(v, hRet);	return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:36,


示例3: _file_constructor

static SQInteger _file_constructor(HSQUIRRELVM v){	const SQChar *filename,*mode;	bool owns = true;	SQFile *f;	SQFILE newf;	if(sq_gettype(v,2) == OT_STRING && sq_gettype(v,3) == OT_STRING) {		sq_getstring(v, 2, &filename);		sq_getstring(v, 3, &mode);		newf = sqstd_fopen(filename, mode);		if(!newf) return sq_throwerror(v, _SC("cannot open file"));	} else if(sq_gettype(v,2) == OT_USERPOINTER) {		owns = !(sq_gettype(v,3) == OT_NULL);		sq_getuserpointer(v,2,&newf);	} else {		return sq_throwerror(v,_SC("wrong parameter"));	}	f = new SQFile(newf,owns);	if(SQ_FAILED(sq_setinstanceup(v,1,f))) {		delete f;		return sq_throwerror(v, _SC("cannot create blob with negative size"));	}	sq_setreleasehook(v,1,_file_releasehook);	return 0;}
开发者ID:Hiroyuki-Nagata,项目名称:mona,代码行数:25,


示例4: emoDatabaseSetPreference

/* * set preference value with given key * * @param preference key * @param preference value * @return EMO_NO_ERROR if succeeds */SQInteger emoDatabaseSetPreference(HSQUIRRELVM v) {    const SQChar* key;    SQInteger nargs = sq_gettop(v);    if (nargs >= 2 && sq_gettype(v, 2) != OT_NULL) {        sq_tostring(v, 2);        sq_getstring(v, -1, &key);        sq_poptop(v);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    const SQChar* value;    if (nargs >= 3 && sq_gettype(v, 3) != OT_NULL) {        sq_tostring(v, 3);        sq_getstring(v, -1, &value);        sq_poptop(v);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    if (!engine->database->setPreference(key, value)) {        sq_pushinteger(v, ERR_DATABASE);        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:37,


示例5: emoDatabaseOpenOrCreate

/* * open database with given name * if database is not found, creates new database with given name * file mode is one of FILE_MODE_PRIVATE, FILE_MODE_WORLD_READABLE * or FILE_MODE_WORLD_WRITABLE * * @param database name * @param file mode * @return EMO_NO_ERROR if succeeds */SQInteger emoDatabaseOpenOrCreate(HSQUIRRELVM v) {    const SQChar* name;    SQInteger nargs = sq_gettop(v);    if (nargs >= 2 && sq_gettype(v, 2) == OT_STRING) {        sq_tostring(v, 2);        sq_getstring(v, -1, &name);        sq_poptop(v);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    SQInteger mode = FILE_MODE_PRIVATE;    if (nargs >= 3 && sq_gettype(v, 3) == OT_INTEGER) {        sq_getinteger(v, 3, &mode);    }    if (!engine->database->openOrCreate(name, mode)) {        sq_pushinteger(v, ERR_DATABASE_OPEN);        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:35,


示例6: sq_gettop

int AnimSquirrel::playAnim(SQVM* v){    int ID, stage, returnVal;    returnVal = 0;    const char* anim;    float weight, duration, speed, timeoffset;    SQInteger nargs = sq_gettop(v);    if(nargs == 8)    {        if(sq_gettype(v,2) == OT_INTEGER &&                sq_gettype(v,3) == OT_STRING &&                sq_gettype(v,4) == OT_INTEGER)        {            sq_getinteger(v,2,&ID);            sq_getinteger(v,4,&stage);            sq_getstring(v,3,&anim);            sq_getfloat(v,5,&weight);            sq_getfloat(v,6,&duration);            sq_getfloat(v,7,&speed);            sq_getfloat(v,8,&timeoffset);            returnVal = GameEngine::playAnim(ID,anim,stage,weight,duration,speed,timeoffset);        }    }    sq_pushinteger(v,returnVal);    return 1;}
开发者ID:dreamsxin,项目名称:nawia,代码行数:26,


示例7: sq_getstring

SQInteger ScriptText::_set(HSQUIRRELVM vm){	int32 k;	if (sq_gettype(vm, 2) == OT_STRING) {		const SQChar *key;		sq_getstring(vm, 2, &key);		const char *key_string = SQ2OTTD(key);		if (strncmp(key_string, "param_", 6) != 0 || strlen(key_string) > 8) return SQ_ERROR;		k = atoi(key_string + 6);	} else if (sq_gettype(vm, 2) == OT_INTEGER) {		SQInteger key;		sq_getinteger(vm, 2, &key);		k = (int32)key;	} else {		return SQ_ERROR;	}	if (k > SCRIPT_TEXT_MAX_PARAMETERS) return SQ_ERROR;	if (k < 1) return SQ_ERROR;	k--;	return this->_SetParam(k, vm);}
开发者ID:fonsinchen,项目名称:openttd-cargodist,代码行数:25,


示例8: ViCbAddCtrl

// BOOL ViCbAddCtrl(HANDLE hCtrl, HANDLE hParent)SQInteger ViCbAddCtrl(HSQUIRRELVM v){    SQInteger        nargs         = sq_gettop(v);    SQInteger        hCtrl         = 0;    SQInteger        hParent       = 0;    CContainerUI*    pParentCtrl   = NULL;    CScriptMgr*      pMgr          = NULL;    CPaintManagerUI* pPM           = NULL;    CControlUI*      pCtrl         = NULL;    SQBool           bRet          = FALSE;    if (!v || 2 + 1 != nargs) {goto _Exit_;}    if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}    if (OT_INTEGER != sq_gettype(v, 3)) {goto _Exit_;}    sq_getinteger(v, 2, &hCtrl);    sq_getinteger(v, 3, &hParent);    pCtrl = QiHwHandleToCtrl(hCtrl);    pParentCtrl = (CContainerUI*)QiHwHandleToCtrl(hParent);    if (!pCtrl) {goto _Exit_;}    if (NULL == pParentCtrl) {        pMgr = (CScriptMgr*)sq_getforeignptr(v);        if (!pMgr) {goto _Exit_;}        pPM = pMgr->GetManager();        if (!pPM) {goto _Exit_;}        pParentCtrl = (CContainerUI*)pPM->GetRoot();    }    if (!pParentCtrl || !pParentCtrl->IsContainer()) {goto _Exit_;}    bRet = (SQBool)pParentCtrl->Add(pCtrl);_Exit_:    sq_pushbool(v, bRet);    return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:36,


示例9: emoLoadAudio

/* * SQInteger loadAudio(SQInteger audioIndex, SQChar* filename); * * @param audio channel index * @param file name to be loaded * @return EMO_NO_ERROR if succeeds */SQInteger emoLoadAudio(HSQUIRRELVM v) {    if (!engine->audio->isRunning()) {        sq_pushinteger(v, ERR_AUDIO_ENGINE_CLOSED);        return 1;    }    SQInteger channelIndex;    const SQChar* filename;    if (sq_gettype(v, 2) != OT_NULL && sq_gettype(v, 3) == OT_STRING) {        sq_getinteger(v, 2, &channelIndex);        sq_tostring(v, 3);        sq_getstring(v, -1, &filename);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM_TYPE);        return 1;    }    if (channelIndex >= engine->audio->getChannelCount()) {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    if (!engine->audio->createChannelFromAsset(filename, channelIndex)) {        sq_pushinteger(v, engine->getLastError());        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:39,


示例10: while

voidTimeScheduler::update(float time){  while(!schedule.empty() && schedule.front().wakeup_time < time) {    HSQOBJECT thread_ref = schedule.front().thread_ref;    sq_pushobject(global_vm, thread_ref);    sq_getweakrefval(global_vm, -1);    HSQUIRRELVM scheduled_vm;    if(sq_gettype(global_vm, -1) == OT_THREAD &&       SQ_SUCCEEDED(sq_getthread(global_vm, -1, &scheduled_vm))) {      if(SQ_FAILED(sq_wakeupvm(scheduled_vm, SQFalse, SQFalse, SQTrue, SQFalse))) {        std::ostringstream msg;        msg << "Error waking VM: ";        sq_getlasterror(scheduled_vm);        if(sq_gettype(scheduled_vm, -1) != OT_STRING) {          msg << "(no info)";        } else {          const char* lasterr;          sq_getstring(scheduled_vm, -1, &lasterr);          msg << lasterr;        }        log_warning << msg.str() << std::endl;        sq_pop(scheduled_vm, 1);      }    }    sq_release(global_vm, &thread_ref);    sq_pop(global_vm, 2);    std::pop_heap(schedule.begin(), schedule.end());    schedule.pop_back();  }}
开发者ID:maxteufel,项目名称:supertux,代码行数:35,


示例11: MultiScriptAssert

int SquirrelScriptContext::SquirrelClassMethodCallback(HSQUIRRELVM vm){	// Get class info	MultiScriptAssert( sq_gettype(vm, -1) == OT_USERPOINTER );	void* userPtr = NULL;	sq_getuserpointer(vm, -1, &userPtr);	sq_pop(vm, 1);	SquirrelClassInfo* classInfo = (SquirrelClassInfo*) userPtr;	// Get method index	MultiScriptAssert( sq_gettype(vm, -1) == OT_INTEGER );	int methodIndex;	sq_getinteger(vm, -1, &methodIndex);	sq_pop(vm, 1);	// Get the instance	MultiScriptAssert( sq_gettype(vm, 1) == OT_INSTANCE );	sq_getinstanceup(vm, 1, &userPtr, 0);	SquirrelScriptObject* scriptObject = (SquirrelScriptObject*) userPtr;	MultiScriptAssert(scriptObject->m_objectPtr);	SquirrelScriptStack stack(classInfo->m_context, false);	const bool result = classInfo->m_desc->m_methods[methodIndex].m_method(scriptObject, &stack);	MultiScriptAssert( result );	return stack.m_numPushed;}
开发者ID:joechenq,项目名称:multi-script,代码行数:29,


示例12: emoRuntimeLog

/* * Runtime logging * * @param log level * @param log message */SQInteger emoRuntimeLog(HSQUIRRELVM v) {    SQInteger nargs = sq_gettop(v);    SQInteger level;    const SQChar *message;    if (nargs < 3)        return 0;    if (sq_gettype(v, 2) == OT_INTEGER && sq_gettype(v, 3) == OT_STRING) {        sq_getinteger(v, 2, &level);        sq_tostring(v, 3);        sq_getstring(v, -1, &message);        sq_poptop(v);        switch (level) {        case LOG_INFO:            LOGI((char*) message);            break;        case LOG_ERROR:            LOGE((char*) message);            break;        case LOG_WARN:            LOGW((char*) message);            break;        }    }    return 0;}
开发者ID:dreadpiratepj,项目名称:emo-framework-experiment,代码行数:34,


示例13: ViIpSetImgByMem

//////////////////////////////////////////////////////////////////////////// ViIp 接口表示CFastImagePanelUI类的成员函数// BOOL   ViIpSetImgByMem(VApiHandle hImgPaneCtrl, VApiHandle hImg)SQInteger ViIpSetImgByMem(HSQUIRRELVM v){	SQInteger          nargs         = sq_gettop(v);	BOOL               bRet          = FALSE;	SQInteger          hImg          = 0;	CUIImage*          pImg          = NULL;	CFastImagePanelUI* pImgPaneCtrl  = NULL;	SQInteger          hImgPaneCtrl  = NULL;	if (!v || 2 + 1 != nargs) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 3)) {goto _Exit_;}	sq_getinteger(v, 2, &hImgPaneCtrl);	sq_getinteger(v, 3, &hImg);	pImg = (CUIImage*)QiHwHandleToObj(hImg);	pImgPaneCtrl = (CFastImagePanelUI*)QiHwHandleToObj(hImgPaneCtrl);	if (!pImg || !pImgPaneCtrl) {goto _Exit_;}		bRet = pImgPaneCtrl->SetImgByMem(pImg);_Exit_:	sq_pushbool(v, bRet);	return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:29,


示例14: TwStepTween

// BOOL TwStepTween(HANDLE hTween, long currentMillis)SQInteger TwStepTween(HSQUIRRELVM v){	SQInteger          nargs          = sq_gettop(v);	SQBool             bRet           = FALSE;	SQInteger          nTweener       = NULL;	SQInteger          currentMillis  = 0;	Tweener*           pTweener       = NULL;	if (!v || 2 + 1 != nargs) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 3)) {goto _Exit_;}	sq_getinteger(v, 2, &nTweener);	sq_getinteger(v, 3, &currentMillis);	pTweener = (Tweener*)QiHwHandleToObj(nTweener);	if (!pTweener) {goto _Exit_;}	pTweener->step(currentMillis);	bRet = TRUE;_Exit_:	sq_pushbool(v, bRet);	return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:26,


示例15: ViCbSetPos

//  BOOL  ViCbSetPos(VApiHandle hWnd, int x0, int y0, int x1, int y1)SQInteger ViCbSetPos(HSQUIRRELVM v){	SQInteger      nargs         = sq_gettop(v);	SQInteger      Handle        = 0;	CControlUI*    pCtrl         = NULL;	int            x0            = 0;	int            y0            = 0;	int            x1            = 0;	int            y1            = 0;	RECT           rc            = {0};	if (!v || 5 + 1 != nargs) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 3)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 4)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 5)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 6)) {goto _Exit_;}		sq_getinteger(v, 2, &Handle);	sq_getinteger(v, 3, &x0);	sq_getinteger(v, 4, &y0);	sq_getinteger(v, 5, &x1);	sq_getinteger(v, 6, &y1);	pCtrl = QiHwHandleToCtrl(Handle);	if (!pCtrl) {goto _Exit_;}	rc.left = x0;	rc.top = y0;	rc.right = x1;	rc.bottom = y1;	pCtrl->SetPos(rc);	_Exit_:	sq_pushbool(v, TRUE);	return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:36,


示例16: emoSeekAudioChannel

/* * seek audio with given channel * * @param audio channel index * @param seek offset (milliseconds from the beginning of the audio) * @return EMO_NO_ERROR if succeeds */SQInteger emoSeekAudioChannel(HSQUIRRELVM v) {    if (!engine->audio->isRunning()) {        sq_pushinteger(v, ERR_AUDIO_ENGINE_CLOSED);        return 1;    }    SQInteger channelIndex;    SQInteger seekPosition;    if (sq_gettype(v, 2) != OT_NULL && sq_gettype(v, 3) != OT_NULL) {        sq_getinteger(v, 2, &channelIndex);        sq_getinteger(v, 3, &seekPosition);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM_TYPE);        return 1;    }    if (channelIndex >= engine->audio->getChannelCount()) {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    if (!engine->audio->seekChannel(channelIndex, seekPosition, SL_SEEKMODE_ACCURATE)) {        sq_pushinteger(v, ERR_AUDIO_ENGINE_STATUS);        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:38,


示例17: emoRuntimeCompile

/* * compile script from path * * @param script file name */SQInteger emoRuntimeCompile(HSQUIRRELVM v) {    if (sq_gettype(v, 2) == OT_STRING) {        const SQChar *fname;        sq_tostring(v, 2);        sq_getstring(v, -1, &fname);        sq_poptop(v);        // check if the file type exists        if (sq_gettype(v, 3) == OT_INTEGER) {            SQInteger fileType = TYPE_ASSET;            sq_getinteger(v, 3, &fileType);            if (fileType == TYPE_ASSET) {                // load script from resource                loadScriptFromAsset((char*) fname);            } else if (fileType == TYPE_DOCUMENT) {                // load script from user document directory                loadScriptFromUserDocument(fname);            } else {                // load script from path                loadScript(fname);            }        } else {            // load script from path            loadScript(fname);        }    }    return 0;}
开发者ID:dreadpiratepj,项目名称:emo-framework-experiment,代码行数:36,


示例18: TwAddProperty

// BOOL TwAddProperty(HANDLE hTweenParam, float valor, float valorFinal)SQInteger TwAddProperty(HSQUIRRELVM v){	SQInteger          nargs         = sq_gettop(v);	SQBool             bRet          = FALSE;	TweenerParam*      pTweenParam   = NULL;	SQInteger          nTweenParam   = NULL;	SQInteger          fValor        = 0;	SQInteger          fValorFinal   = 0;	TweenerParam*      pParam        = NULL;	if (!v || 3 + 1 != nargs) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 3)) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 4)) {goto _Exit_;}	sq_getinteger(v, 2, &nTweenParam);	sq_getinteger(v, 3, &fValor);	sq_getinteger(v, 4, &fValorFinal);	pTweenParam = (TweenerParam*)QiHwHandleToObj(nTweenParam);	if (!pTweenParam) {goto _Exit_;}	pTweenParam->addProperty(fValor, fValorFinal);	bRet = TRUE;_Exit_:	sq_pushbool(v, bRet);	return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:30,


示例19: TwCreateTweenParam

// HANDLE TwCreateTweenParam(float fTime, short nTransition = EXPO, short nEquation = EASE_OUT, float fDelay = 0)SQInteger TwCreateTweenParam(HSQUIRRELVM v){    SQInteger          nargs         = sq_gettop(v);    SQInteger          nRet          = NULL;    SQInteger          fTime         = 0;    SQInteger          nTransition   = EXPO;    SQInteger          nEquation     = EASE_OUT;    SQInteger          fDelay        = 0;    TweenerParam*      pParam        = NULL;    if (!v || 4 + 1 != nargs) {goto _Exit_;}    if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}    if (OT_INTEGER != sq_gettype(v, 3)) {goto _Exit_;}    if (OT_INTEGER != sq_gettype(v, 4)) {goto _Exit_;}    if (OT_INTEGER != sq_gettype(v, 5)) {goto _Exit_;}    sq_getinteger(v, 2, &fTime);    sq_getinteger(v, 3, &nTransition);    sq_getinteger(v, 4, &nEquation);    sq_getinteger(v, 5, &fDelay);    pParam = new TweenerParam(fTime, nTransition, nEquation, fDelay);    if (!pParam) {goto _Exit_;}    nRet = QiHwObjToHandle(pParam);_Exit_:    sq_pushinteger(v, nRet);    return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:31,


示例20: sq_gettop

/** * squirrel から吉里吉里オブジェクトを取得 */boolTJSObject::getVariant(HSQUIRRELVM v, SQInteger idx, tTJSVariant *variant){    if (sq_gettype(v, idx) == OT_CLASS) {        if (idx < 0) {            idx = sq_gettop(v) + 1 + idx;        }        bool ret = false;        // クラス属性からオブジェクト情
C++ sq_newclosure函数代码示例
C++ sq_gettop函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。