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

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

51自学网 2021-06-01 20:24:40
  C++
这篇教程C++ DVASSERT函数代码示例写得很实用,希望能帮到您。

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

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

示例1: ColorDetailControl

//*************  ColorSelectorControl  *************ColorSelectorControl::ColorSelectorControl(const Rect &rect)    :   ColorDetailControl(rect){    RenderManager::Instance()->SetRenderTarget(colorMap);    RenderManager::Instance()->SetColor(Color(0.f, 0.f, 0.f, 1.f));    RenderHelper::Instance()->FillRect(Rect(0,0, rect.dx, rect.dy));    SetInitialColors();    float32 sectionHeight = rect.dy / (float32)SECTIONS_COUNT;    DVASSERT((0 != sectionHeight) && "Wrong control size");        float32 colorDelta = 1.0f / (sectionHeight);    for(int32 dy = 0; dy < (int32)sectionHeight; ++dy)    {        for(int32 iSection = 0; iSection < SECTIONS_COUNT; ++iSection)        {            RenderManager::Instance()->SetColor(sections[iSection]);            RenderHelper::Instance()->DrawLine(Vector2(0, iSection*sectionHeight + dy),                                                Vector2(rect.dx, iSection*sectionHeight + dy));        }                sections[0].b += colorDelta;        sections[1].r -= colorDelta;        sections[2].g += colorDelta;        sections[3].b -= colorDelta;        sections[4].r += colorDelta;        sections[5].g -= colorDelta;    }    RenderManager::Instance()->ResetColor();    RenderManager::Instance()->RestoreRenderTarget();    SetInitialColors();        markerPoint.dx = rect.dx / 2;}
开发者ID:abaradulkin,项目名称:dava.framework,代码行数:38,


示例2: DVASSERT

void GameObjectManager::RealAddObject(GameObject * _object){	if (!_object)return;        if (_object->dead)  // if object is dead we mark that it should be added on deletion from prev. manager    {        _object->nextManager = this;        return;    }else    {        DVASSERT(_object->GetManager() == 0);    }    	_object->Retain();		//int objectsCount = objects.size();	List<GameObject*>::iterator currentPos = objects.begin();		//Logger::FrameworkDebug("myp: %d/n", _object->GetPriority());	int pos = 0;	for (; currentPos != objects.end(); ++currentPos)	{		GameObject * curObject = *currentPos;		if ( curObject->GetPriority() > _object->GetPriority())		{			//Logger::FrameworkDebug("op: %d/n", curObject->GetPriority());						break;		}		pos++;	}	//Logger::FrameworkDebug("added to pos: %d/n", pos);	objects.insert(currentPos, _object);	_object->SetManager(this);    RecalcObjectHierarchy(_object);}
开发者ID:galek,项目名称:dava.framework,代码行数:36,


示例3: SafeRelease

void Scene::SetGlobalMaterial(NMaterial *globalMaterial){    SafeRelease(sceneGlobalMaterial);    if(NULL != globalMaterial)    {        DVASSERT(globalMaterial->GetMaterialType() == NMaterial::MATERIALTYPE_GLOBAL);        isDefaultGlobalMaterial = false;        sceneGlobalMaterial = SafeRetain(globalMaterial);    }    else    {        isDefaultGlobalMaterial = true;        sceneGlobalMaterial = NMaterial::CreateGlobalMaterial(FastName("Scene_Global_Material"));    }    InitGlobalMaterial();    renderSystem->SetGlobalMaterial(sceneGlobalMaterial);    particleEffectSystem->SetGlobalMaterial(sceneGlobalMaterial);        ImportShadowColor(this);}
开发者ID:galek,项目名称:dava.framework,代码行数:24,


示例4: DVASSERT

void NMaterial::PrepareRenderState(PolygonGroup * polygonGroup, NMaterialInstance * instance){    //    if (1)    {//        shaderArray[0]->Dump();    }            Shader * activeShader = shaderArray[instance->GetLightCount()];    DVASSERT(activeShader != 0)    instance->renderState.SetShader(activeShader);    instance->PrepareInstanceForShader(activeShader);        // Bind shader & global uniforms    RenderManager::Instance()->FlushState(&instance->renderState);    // Here bind local uniforms of material    instance->UpdateUniforms();    instance->BindUniforms();        RenderManager::Instance()->SetRenderData(polygonGroup->renderDataObject);	RenderManager::Instance()->AttachRenderData();};
开发者ID:boyjimeking,项目名称:dava.framework,代码行数:24,


示例5: DVASSERT

void HierarchyTreeControlNode::AddControlToParent(){	if (!parent)		return;		DVASSERT(uiObject);		HierarchyTreeScreenNode* screenNode = dynamic_cast<HierarchyTreeScreenNode*>(parent);	if (screenNode)	{		screenNode->GetScreen()->AddControl(this->uiObject);	}	else	{		//HierarchyTreeControlNode* controlNode = GetControlNode();		HierarchyTreeControlNode* controlNode = dynamic_cast<HierarchyTreeControlNode*>(parent);		if (controlNode)		{			UIControl* control = controlNode->GetUIObject();			if (control)				control->AddControl(this->uiObject);		}	}	}
开发者ID:vilonosec,项目名称:dava.framework,代码行数:24,


示例6: switch

void Image::FlipVertical(){	switch(format)	{	case FORMAT_A8:		FlipVertical((uint8 *)data, width, height);		break;	case FORMAT_A16:	case FORMAT_RGBA5551:	case FORMAT_RGBA4444:	case FORMAT_RGB565:		FlipVertical((uint16 *)data, width, height);		break;	case FORMAT_RGBA8888:		FlipVertical((uint32 *)data, width, height);		break;	default:		DVASSERT(false && "Not implemented");		break;	}}
开发者ID:galek,项目名称:dava.framework,代码行数:24,


示例7: DVASSERT

void DistanceSlider::SetDistance(int layer, double value){	if(!locked)	{		DVASSERT(0 <= layer && layer < DAVA::LodComponent::MAX_LOD_LAYERS);		stretchSize[layer] = value;    		int scaleSize = GetScaleSize();    		QList<int> sizes;		for(int i = 1; i < layersCount; ++i)		{			sizes.push_back((stretchSize[i] - stretchSize[i-1]) * splitter->geometry().width() / scaleSize);		}    		if(layersCount)			sizes.push_back((scaleSize - stretchSize[layer]) * splitter->geometry().width() / scaleSize);    		bool wasBlocked = splitter->blockSignals(true);		splitter->setSizes(sizes);		splitter->blockSignals(wasBlocked);	}}
开发者ID:galek,项目名称:dava.framework,代码行数:24,


示例8: UIWebView

void TransparentWebViewTest::LoadResources(){	webView1 = new UIWebView(Rect(5, 5, 700, 500));	webView1->SetVisible(true);	webView1->OpenURL("http://ru.wikipedia.org/");	AddControl(webView1);	FilePath srcDir("~res:/TestData/TransparentWebViewTest/");	FilePath cpyDir = FileSystem::Instance()->GetCurrentDocumentsDirectory() + "TransparentWebViewTest/";	FileSystem::Instance()->DeleteDirectory(cpyDir);	FileSystem::Instance()->CreateDirectory(cpyDir);	FilePath srcFile = srcDir + "test.html";	FilePath cpyFile = cpyDir + "test.html";	FileSystem::Instance()->CopyFile(srcFile, cpyFile);	String url = "file:///" + cpyFile.GetAbsolutePathname();	webView2 = new UIWebView(Rect(710, 5, 300, 250));	webView2->SetVisible(true);	webView2->SetBackgroundTransparency(true);	webView2->OpenURL(url);	AddControl(webView2);	Font *font = FTFont::Create("~res:/Fonts/korinna.ttf");    DVASSERT(font);	font->SetSize(20);	testButton = new UIButton(Rect(0, 510, 300, 30));	testButton->SetStateFont(0xFF, font);	testButton->SetStateText(0xFF, L"Finish Test");	testButton->SetStateFontColor(0xFF, Color::White);	testButton->SetDebugDraw(true);	testButton->AddEvent(UIControl::EVENT_TOUCH_UP_INSIDE, Message(this, &TransparentWebViewTest::ButtonPressed));	AddControl(testButton);	SafeRelease(font);}
开发者ID:galek,项目名称:dava.framework,代码行数:36,


示例9: BuildPropertiesGridList

void PropertyGridContainerWidget::OnPropertiesGridUpdated(){    if (PropertiesGridController::Instance()->GetActiveTreeNodesList().empty() == false)    {        // List of UI Controls is selected.        BuildPropertiesGridList();        return;    }    // Build the Properties Grid based on the active control.    const HierarchyTreeNode* activeTreeNode = PropertiesGridController::Instance()->GetActiveTreeNode();    DVASSERT(activeTreeNode);    // This code is executed when Screen/Platform are selected.    UIControl* activeControl = NULL;    const HierarchyTreeControlNode* activeTreeControlNode = dynamic_cast<const HierarchyTreeControlNode*>(activeTreeNode);    if (activeTreeControlNode)    {        activeControl = activeTreeControlNode->GetUIObject();    }    BaseMetadata* metaData = GetActiveMetadata(activeTreeNode);    BuildPropertiesGrid(activeControl, metaData, activeTreeNode->GetId());}
开发者ID:galek,项目名称:dava.framework,代码行数:24,


示例10: DVASSERT

LodSystem::LodMerger::LodMerger(SceneNode * _toEntity){	DVASSERT(_toEntity);	toEntity = _toEntity;}
开发者ID:abaradulkin,项目名称:dava.framework,代码行数:5,


示例11: GetSwitchComponent

bool SwitchToRenerObjectConverter::MergeSwitch(Entity * entity){    Vector<Entity*> entitiesToRemove;    SwitchComponent * sw = GetSwitchComponent(entity);    if(sw)    {        RenderComponent * rc = GetRenderComponent(entity);        RenderObject * ro = 0;        if(!rc)        {            ro = new Mesh();            rc = new RenderComponent(ro);            ro->Release();            ro->SetAABBox(AABBox3(Vector3(0, 0, 0), Vector3(0, 0, 0)));            entity->AddComponent(rc);        }        else        {            ro = rc->GetRenderObject();        }        DVASSERT(ro);        int32 size = entity->GetChildrenCount();        for(int32 i = 0; i < size; ++i)        {            Entity * sourceEntity = entity->GetChild(i);            RenderObject * sourceRenderObject = GetRenderObject(sourceEntity);            //workaround for custom properties for crashed model            if(1 == i) // crash model            {                KeyedArchive *childProps = GetCustomPropertiesArchieve(sourceEntity);                if(childProps && childProps->IsKeyExists("CollisionType"))                {                    KeyedArchive *entityProps = GetOrCreateCustomProperties(entity)->GetArchive();                    entityProps->SetInt32("CollisionTypeCrashed", childProps->GetInt32("CollisionType", 0));                }            }            //end of custom properties            Vector<std::pair<Entity*, RenderObject*> > renderPairs;            if(sourceRenderObject)            {                renderPairs.push_back(std::make_pair(sourceEntity, sourceRenderObject));            }            else            {                FindRenderObjectsRecursive(sourceEntity, renderPairs);                DVASSERT(renderPairs.size() == 1);                sourceRenderObject = renderPairs[0].second;            }            if(sourceRenderObject)            {                TransformComponent * sourceTransform = GetTransformComponent(sourceEntity);                if (sourceTransform->GetLocalTransform() != Matrix4::IDENTITY)                {                    PolygonGroup * pg = sourceRenderObject->GetRenderBatchCount() > 0 ? sourceRenderObject->GetRenderBatch(0)->GetPolygonGroup() : 0;                    if(pg && bakedPolygonGroups.end() == bakedPolygonGroups.find(pg))                    {                        sourceRenderObject->BakeGeometry(sourceTransform->GetLocalTransform());                        bakedPolygonGroups.insert(pg);                    }                }                uint32 sourceSize = sourceRenderObject->GetRenderBatchCount();                while(sourceSize)                {                    int32 lodIndex, switchIndex;                    RenderBatch * sourceRenderBatch = sourceRenderObject->GetRenderBatch(0, lodIndex, switchIndex);                    sourceRenderBatch->Retain();                    sourceRenderObject->RemoveRenderBatch(sourceRenderBatch);                    ro->AddRenderBatch(sourceRenderBatch, lodIndex, i);                    sourceRenderBatch->Release();                    sourceSize--;                }            }            renderPairs[0].first->RemoveComponent(Component::RENDER_COMPONENT);            LodComponent * lc = GetLodComponent(sourceEntity);            if((0 != lc) && (0 == GetLodComponent(entity)))            {                LodComponent * newLod = (LodComponent*)lc->Clone(entity);                entity->AddComponent(newLod);            }            renderPairs[0].first->RemoveComponent(Component::LOD_COMPONENT);            if(sourceEntity->GetChildrenCount() == 0)            {                entitiesToRemove.push_back(sourceEntity);            }        }    }    uint32 entitiesToRemoveCount = entitiesToRemove.size();//.........这里部分代码省略.........
开发者ID:galek,项目名称:dava.framework,代码行数:101,


示例12: DVASSERT

bool FileList::IsDirectory(int32 index) {	DVASSERT((index >= 0) && (index < (int32)fileList.size()));	return fileList[index].isDirectory;}
开发者ID:droidenko,项目名称:dava.framework,代码行数:5,


示例13: DVASSERT

void ImposterNode::UpdateState(){	if(GetChildrenCount() > 0)	{		DVASSERT(GetChildrenCount() == 1);		AABBox3 bbox = GetChild(0)->GetWTMaximumBoundingBoxSlow();		Vector3 bboxCenter = bbox.GetCenter();		float32 distanceSquare = (scene->GetCurrentCamera()->GetPosition() - bboxCenter).SquareLength();		distanceSquare *= scene->GetCurrentCamera()->GetZoomFactor() * scene->GetCurrentCamera()->GetZoomFactor();				Vector3 newDirection = scene->GetCurrentCamera()->GetPosition()-center;		newDirection.Normalize();		float32 dotProduct = newDirection.DotProduct(direction);		switch(state)		{		case STATE_3D:		{			if(distanceSquare > TOGGLE_SQUARE_DISTANCE)			{				UpdatePriority(distanceSquare, 0);				AskForRedraw();			}			else			{				isReady = false;			}		}		break;		case STATE_QUEUED:		{			if(IsAngleOrRangeChangedEnough(distanceSquare, dotProduct))			{				UpdatePriority(distanceSquare, dotProduct);				manager->UpdateQueue(this);			}		}		break;		case STATE_IMPOSTER:		{			if(distanceSquare < TOGGLE_SQUARE_DISTANCE)			{				isReady = false;				state = STATE_3D;				manager->RemoveFromQueue(this);				break;			}			if(IsAngleOrRangeChangedEnough(distanceSquare, dotProduct))			{				UpdatePriority(distanceSquare, dotProduct);				AskForRedraw();			}		}		break;		case STATE_REDRAW_APPROVED:		{		}		break;		}	}}
开发者ID:vilonosec,项目名称:dava.framework,代码行数:65,


示例14: Camera

void ImposterNode::UpdateImposter(){	Camera * camera = scene->GetCurrentCamera();	Camera * imposterCamera = new Camera();	Vector3 cameraPos = camera->GetPosition();	Entity * child = GetChild(0);	AABBox3 bbox = child->GetWTMaximumBoundingBoxSlow();	Vector3 bboxCenter = bbox.GetCenter();	imposterCamera->Setup(camera->GetFOV(), camera->GetAspect(), camera->GetZNear(), camera->GetZFar());	imposterCamera->SetTarget(bbox.GetCenter());	imposterCamera->SetPosition(cameraPos);	imposterCamera->SetUp(camera->GetUp());	imposterCamera->SetLeft(camera->GetLeft());	Rect viewport = RenderManager::Instance()->GetViewport();		const Matrix4 & mvp = imposterCamera->GetUniformProjModelMatrix();	AABBox3 screenBounds;	GetOOBBoxScreenCoords(child, mvp, screenBounds);	Vector4 pv(bboxCenter);	pv = pv*mvp;	pv.z = (pv.z/pv.w + 1.f) * 0.5f;	float32 bboxCenterZ = pv.z;	Vector2 screenSize = Vector2(screenBounds.max.x-screenBounds.min.x, screenBounds.max.y-screenBounds.min.y);	Vector3 screenBillboardVertices[4];	screenBillboardVertices[0] = Vector3(screenBounds.min.x, screenBounds.min.y, screenBounds.min.z);	screenBillboardVertices[1] = Vector3(screenBounds.max.x, screenBounds.min.y, screenBounds.min.z);	screenBillboardVertices[2] = Vector3(screenBounds.min.x, screenBounds.max.y, screenBounds.min.z);	screenBillboardVertices[3] = Vector3(screenBounds.max.x, screenBounds.max.y, screenBounds.min.z);	center = Vector3();	Matrix4 invMvp = mvp;	invMvp.Inverse();	for(int32 i = 0; i < 4; ++i)	{		//unproject		Vector4 out;		out.x = 2.f*(screenBillboardVertices[i].x-viewport.x)/viewport.dx-1.f;		out.y = 2.f*(screenBillboardVertices[i].y-viewport.y)/viewport.dy-1.f;		out.z = 2.f*screenBillboardVertices[i].z-1.f;		out.w = 1.f;		out = out*invMvp;		DVASSERT(out.w != 0.f);		out.x /= out.w;		out.y /= out.w;		out.z /= out.w;		imposterVertices[i] = Vector3(out.x, out.y, out.z);		center += imposterVertices[i];	}	center /= 4.f;	//draw	RecreateFbo(screenSize);	//Logger::Info("%f, %f", screenSize.x, screenSize.y);	if(!block)	{		return;	}	direction = camera->GetPosition()-center;	direction.Normalize();	distanceSquaredToCamera = (center-cameraPos).SquareLength();	float32 nearPlane = sqrtf(distanceSquaredToCamera);	//float32 farPlane = nearPlane + (bbox.max.z-bbox.min.z);	float32 w = (imposterVertices[1]-imposterVertices[0]).Length();	float32 h = (imposterVertices[2]-imposterVertices[0]).Length();		//TODO: calculate instead of +50	imposterCamera->Setup(-w/2.f, w/2.f, -h/2.f, h/2.f, nearPlane, nearPlane+50.f);	Rect oldViewport = RenderManager::Instance()->GetViewport();		//Texture * target = fbo->GetTexture();	RenderManager::Instance()->AppendState(RenderState::STATE_SCISSOR_TEST);	RenderManager::Instance()->State()->SetScissorRect(Rect(block->offset.x, block->offset.y, block->size.dx, block->size.dy));	RenderManager::Instance()->FlushState();	//TODO: use one "clear" function instead of two	//if(block->size.x == 512.f)	//{	//	RenderManager::Instance()->ClearWithColor(0.f, .8f, 0.f, 1.f);	//}	//else if(block->size.x == 256.f)	//{	//	RenderManager::Instance()->ClearWithColor(0.f, .3f, 0.f, 1.f);	//}	//else if(block->size.x == 128.f)//.........这里部分代码省略.........
开发者ID:vilonosec,项目名称:dava.framework,代码行数:101,


示例15: DVASSERT

Texture *RenderManager::GetTexture(uint32 textureLevel){    DVASSERT(textureLevel < RenderState::MAX_TEXTURE_LEVELS);	return currentState.currentTexture[textureLevel];	}
开发者ID:boyjimeking,项目名称:dava.framework,代码行数:5,


示例16: GetLight

void LightPropertyControl::ReadFrom(Entity * sceneNode){	NodesPropertyControl::ReadFrom(sceneNode);    Light *light = GetLight(sceneNode);	DVASSERT(light);    propertyList->AddSection("property.lightnode.light", GetHeaderState("property.lightnode.light", true));            propertyList->AddComboProperty("property.lightnode.type", types);	propertyList->SetComboPropertyIndex("property.lightnode.type", light->GetType());    propertyList->AddColorProperty("property.lightnode.ambient.color");	propertyList->SetColorPropertyValue("property.lightnode.ambient.color", light->GetAmbientColor());    propertyList->AddColorProperty("property.lightnode.diffuse.color");	propertyList->SetColorPropertyValue("property.lightnode.diffuse.color", light->GetDiffuseColor());    propertyList->AddColorProperty("property.lightnode.specular.color");	propertyList->SetColorPropertyValue("property.lightnode.specular.color", light->GetSpecularColor());        propertyList->AddFloatProperty("property.lightnode.intensity");	propertyList->SetFloatPropertyValue("property.lightnode.intensity", light->GetIntensity());    //propertyList->AddFloatProperty("property.lightnode.material.shininess", light->GetShininess())    	propertyList->AddSection("property.lightnode.staticlight", GetHeaderState("property.lightnode.staticlight", true));    propertyList->AddBoolProperty("property.staticlight.enable");	propertyList->SetBoolPropertyValue("property.staticlight.enable", sceneNode->GetCustomProperties()->GetBool("editor.staticlight.enable", true));	propertyList->AddBoolProperty("Cast shadows");	propertyList->SetBoolPropertyValue("Cast shadows", sceneNode->GetCustomProperties()->GetBool("editor.staticlight.castshadows", true));	propertyList->AddFloatProperty("Intensity");	propertyList->SetFloatPropertyValue("Intensity", sceneNode->GetCustomProperties()->GetFloat("editor.intensity", 1.f));	propertyList->AddFloatProperty("Falloff cutoff");	propertyList->SetFloatPropertyValue("Falloff cutoff", sceneNode->GetCustomProperties()->GetFloat("editor.staticlight.falloffcutoff", 1000.f));	propertyList->AddFloatProperty("Falloff exponent");	propertyList->SetFloatPropertyValue("Falloff exponent", sceneNode->GetCustomProperties()->GetFloat("editor.staticlight.falloffexponent", 1.f));	if(Light::TYPE_DIRECTIONAL == light->GetType())	{		propertyList->AddFloatProperty("Shadow angle");		propertyList->SetFloatPropertyValue("Shadow angle", sceneNode->GetCustomProperties()->GetFloat("editor.staticlight.shadowangle", 0.f));		propertyList->AddIntProperty("Shadow samples");		propertyList->SetIntPropertyValue("Shadow samples", sceneNode->GetCustomProperties()->GetInt32("editor.staticlight.shadowsamples", 1));	}	else if(Light::TYPE_POINT == light->GetType())	{		propertyList->AddFloatProperty("Shadow radius");		propertyList->SetFloatPropertyValue("Shadow radius", sceneNode->GetCustomProperties()->GetFloat("editor.staticlight.shadowradius", 0.f));	}	propertyList->AddSection("property.lightnode.dynamiclight", GetHeaderState("property.lightnode.dynamiclight", true));		propertyList->AddBoolProperty("property.dynamiclight.enable");	propertyList->SetBoolPropertyValue("property.dynamiclight.enable", sceneNode->GetCustomProperties()->GetBool("editor.dynamiclight.enable", true));}
开发者ID:droidenko,项目名称:dava.framework,代码行数:62,


示例17: DVASSERT

void LandscapeEditorColor::StoreOriginalTexture(){	DVASSERT(originalImage == NULL);	originalImage = StoreState();}
开发者ID:vilonosec,项目名称:dava.framework,代码行数:5,


示例18: UpdateCellSize

	// UIListDelegate implementation		int32 EditorListDelegate::ElementsCount(UIList *forList)	{		UpdateCellSize(forList);		DVASSERT(cellsCount > 0);		return cellsCount;	}
开发者ID:galek,项目名称:dava.framework,代码行数:7,


示例19: DVASSERT

void PngImageExt::Write(const FilePath & filename){    DVASSERT(internalData);    ImageLoader::Save(internalData, filename);}
开发者ID:droidenko,项目名称:dava.framework,代码行数:5,



注:本文中的DVASSERT函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DVD_MSEC_TO_TIME函数代码示例
C++ DUNGEON_MODE函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。