• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ FreeData函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: FreeData

/*
========================
idSoundSample_XAudio2::MakeDefault
========================
*/
void idSoundSample_XAudio2::MakeDefault()
{
	FreeData();
	
	static const int DEFAULT_NUM_SAMPLES = 256;
	
	timestamp = FILE_NOT_FOUND_TIMESTAMP;
	loaded = true;
	
	memset( &format, 0, sizeof( format ) );
	format.basic.formatTag = idWaveFile::FORMAT_PCM;
	format.basic.numChannels = 1;
	format.basic.bitsPerSample = 16;
	format.basic.samplesPerSec = XAUDIO2_MIN_SAMPLE_RATE;
	format.basic.blockSize = format.basic.numChannels * format.basic.bitsPerSample / 8;
	format.basic.avgBytesPerSec = format.basic.samplesPerSec * format.basic.blockSize;
	
	assert( format.basic.blockSize == 2 );
	
	totalBufferSize = DEFAULT_NUM_SAMPLES * 2;
	
	short* defaultBuffer = ( short* )AllocBuffer( totalBufferSize, GetName() );
	for( int i = 0; i < DEFAULT_NUM_SAMPLES; i += 2 )
	{
		defaultBuffer[i + 0] = SHRT_MIN;
		defaultBuffer[i + 1] = SHRT_MAX;
	}
	
	buffers.SetNum( 1 );
	buffers[0].buffer = defaultBuffer;
	buffers[0].bufferSize = totalBufferSize;
	buffers[0].numSamples = DEFAULT_NUM_SAMPLES;
	buffers[0].buffer = GPU_CONVERT_CPU_TO_CPU_CACHED_READONLY_ADDRESS( buffers[0].buffer );
	
	playBegin = 0;
	playLength = DEFAULT_NUM_SAMPLES;
}
开发者ID:Yetta1,项目名称:OpenTechBFG,代码行数:42,代码来源:XA2_SoundSample.cpp


示例2: Clear

void emDirEntry::Clear()
{
	if (!--Data->RefCount) FreeData();
	Data=&EmptyData;
}
开发者ID:ackalker,项目名称:eaglemode,代码行数:5,代码来源:emDirEntry.cpp


示例3: FreeData

SplineData::~SplineData()
{
	FreeData();
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:4,代码来源:ToolSplineMapping_SplineData.cpp


示例4: StopCapture

 ~MMDeviceAudioSource()
 {
     StopCapture();
     FreeData();
     SafeRelease(mmEnumerator);
 }
开发者ID:Marcleiton,项目名称:OBS,代码行数:6,代码来源:MMDeviceAudioSource.cpp


示例5: FreeData

Player::~Player()
{
	FreeData();
}
开发者ID:tweimer,项目名称:miranda-ng,代码行数:4,代码来源:player.cpp


示例6: FreeData

/*
================
idProgram::~idProgram
================
*/
idProgram::~idProgram()
{
	FreeData();
}
开发者ID:revelator,项目名称:MHDoom,代码行数:9,代码来源:Script_Program.cpp


示例7: AllocData

	void AllocData()
	{
		FreeData();
		m_pKVData = new KeyValues( "gamestats" );
	}
开发者ID:AluminumKen,项目名称:hl2sb-src,代码行数:5,代码来源:gamestats.cpp


示例8: FreeData

Program::~Program()
{
    FreeData();
}
开发者ID:UberGames,项目名称:EF2GameSource,代码行数:4,代码来源:program.cpp


示例9: FreeData

DataNode::~DataNode()
{
    FreeData();
}
开发者ID:151706061,项目名称:ParaView,代码行数:4,代码来源:DataNode.cpp


示例10: InitEns

void InitEns (enkf_struct ens)
{
    int             ne;
    pihm_struct     pihm;
    N_Vector        CV_Y;       /* State Variables Vector */
    int             nsv;
    int             i, j;
    char            outputdir[MAXSTRING];

    outputdir[0] = '\0';

    pihm = (pihm_struct)malloc (sizeof *pihm);

    ReadAlloc (project, pihm);

    /* problem size */
    nsv = 3 * pihm->numele + 2 * pihm->numriv;

    CV_Y = N_VNew_Serial (nsv);

    Initialize (pihm, CV_Y);

    MapOutput (project, pihm, outputdir);

    ens->numele = pihm->numele;
    ens->numriv = pihm->numriv;
    ens->ascii = pihm->ctrl.ascii;

    /* Initialize ensemble members */
    ne = ens->ne;

    ens->member = (ensmbr_struct *) malloc (ne * sizeof (ensmbr_struct));

    /*
     * Define variable controls: vairable names, variable dimension, etc.
     */
    MapVar (ens->var, ens->numele, ens->numriv);

    InitOper (pihm, ens);

    printf("Ensemble members: %d\n", ne);
    printf("Default observation cycle: %-d hour(s)\n", ens->interval /  3600);
    printf("Observations:");
    if (ens->nobs == 0)
    {
        printf(" none");
    }
    else
    {
        for (i = 0; i < ens->nobs - 1; i++)
        {
            printf(" %s,", ens->obs[i].name);
        }
        printf(" %s\n", ens->obs[ens->nobs - 1].name);
    }

    for (i = 0; i < ne; i++)
    {
        for (j = 0; j < MAXVAR; j++)
        {
            if (ens->var[j].dim > 0)
            {
                ens->member[i].var[j] =
                    (double *) malloc (ens->var[j].dim * sizeof(double));
            }
        }

    }

    N_VDestroy_Serial (CV_Y);

    FreeData (pihm);
    free (pihm);
}
开发者ID:DachengXiao,项目名称:MM-PIHM-EnKF,代码行数:74,代码来源:enkf_func.c


示例11: FreeData

// Like ReloadStrings, but clears all the strings before reloading
void FStringTable::ResetStrings ()
{
	FreeData ();
	LoadStrings (LumpNum, -1, false);
}
开发者ID:JohnnyonFlame,项目名称:odamex,代码行数:6,代码来源:stringtable.cpp


示例12: FreeData

otG711Encoder::~otG711Encoder()
{
    FreeData();
}
开发者ID:simisu,项目名称:oneteam,代码行数:4,代码来源:otG711Encoder.cpp


示例13: progress_callback

/**
 * Loads elevation from a USGS DEM file.
 *
 * Some non-standard variations of the DEM format are supported.
 *
 * You should call SetupLocalCS() after loading if you will be doing
 * heightfield operations on this grid.
 *
 * \returns \c true if the file was successfully opened and read.
 */
bool vtElevationGrid::LoadFromDEM(const char *szFileName,
								  bool progress_callback(int), vtElevError *err)
{
	// Free buffers to prepare to receive new data
	FreeData();

	if (progress_callback != NULL) progress_callback(0);

	FILE *fp = vtFileOpen(szFileName,"rb");
	if (!fp)		// Cannot Open File
	{
		SetError(err, vtElevError::FILE_OPEN, "Couldn't open file '%s'", szFileName);
		return false;
	}

	// check for version of DEM format
	int		iRow, iColumn;
	char buffer[158];

	fseek(fp, 864, 0);
	if (fread(buffer, 144, 1, fp) != 1)
	{
		SetError(err, vtElevError::READ_DATA, "Couldn't read DEM data from '%s'", szFileName);
		return false;
	}
	bool bOldFormat = (strncmp(buffer, "     1     1", 12) == 0);
	bool bNewFormat = false;
	bool bFixedLength = true;
	int  iDataStartOffset = 1024;	// set here to avoid compiler warning
	int  i, j;

	if (bOldFormat)
		iDataStartOffset = 1024;	// 1024 is record length
	else
	{
		fseek(fp, 1024, 0);		// Check for New Format
		IConvert(fp, 6, iRow);
		IConvert(fp, 6, iColumn);
		if (iRow==1 && iColumn==1)	// File OK?
		{
			bNewFormat = true;
			iDataStartOffset = 1024;
		}
		else
		{
			// might be the Non-fixed-length record format
			// Record B can start anywhere from 865 to 1023
			// Record B is identified by starting with the row/column
			//  of its first profile, "     1     1"
			fseek(fp, 865, 0);
			if (fread(buffer, 158, 1, fp) != 1)
			{
				SetError(err, vtElevError::READ_DATA, "Couldn't read DEM data from '%s'", szFileName);
				fclose(fp);
				return false;
			}
			for (i = 0; i < 158-12; i++)
			{
				if (!strncmp(buffer+i, "     1     1", 12))
				{
					// Found it
					bFixedLength = false;
					iDataStartOffset = 865+i;
					break;
				}
			}
			if (i == 158-12)
			{
				// Not a DEM file
				SetError(err, vtElevError::READ_DATA, "Couldn't read DEM data from '%s'", szFileName);
				fclose(fp);
				return false;
			}
		}
	}

	// Read the embedded DEM name
	char szName[41];
	fseek(fp, 0, 0);
	if (fgets(szName, 41, fp) == NULL)
		return false;
	int len = strlen(szName);	// trim trailing whitespace
	while (len > 0 && szName[len-1] == ' ')
	{
		szName[len-1] = 0;
		len--;
	}
	m_strOriginalDEMName = szName;

	fseek(fp, 156, 0);
//.........这里部分代码省略.........
开发者ID:kamalsirsa,项目名称:vtp,代码行数:101,代码来源:ElevationGridDEM.cpp


示例14:

emDirEntry::~emDirEntry()
{
	if (!--Data->RefCount) FreeData();
}
开发者ID:ackalker,项目名称:eaglemode,代码行数:4,代码来源:emDirEntry.cpp


示例15: defined

void emDirEntry::PrivLoad(const emString & path, const emString & name)
{
#if defined(_WIN32)
	WIN32_FILE_ATTRIBUTE_DATA fad;
	BOOL b;

	if (!--Data->RefCount) FreeData();
	Data=new SharedData;
	Data->Path=path;
	Data->Name=name;
	Data->TargetPath=Data->Path;
	if (em_stat(Data->Path,&Data->Stat)) {
		Data->LStatErrNo=errno;
		Data->StatErrNo=errno;
		memset(&Data->Stat,0,sizeof(struct em_stat));
	}
	Data->Owner=emString::Format("%u",Data->Stat.st_uid);
	Data->Group=emString::Format("%u",Data->Stat.st_gid);
	b=GetFileAttributesEx(Data->Path.Get(),GetFileExInfoStandard,&fad);
	Data->WndsFileAttributes = b ? fad.dwFileAttributes : 0;
	Data->Hidden=(Data->WndsFileAttributes&FILE_ATTRIBUTE_HIDDEN)!=0;
#else
	char tmp[1024];
#if !defined(ANDROID)
	struct passwd pwbuf;
	struct group grbuf;
#endif
	struct passwd * pw;
	struct group * gr;
	int i;

	if (!--Data->RefCount) FreeData();
	Data=new SharedData;
	Data->Path=path;
	Data->Name=name;
	Data->TargetPath=Data->Path;
	if (em_lstat(Data->Path,&Data->Stat)) {
		Data->LStatErrNo=errno;
		if (em_stat(Data->Path,&Data->Stat)) {
			Data->StatErrNo=errno;
			memset(&Data->Stat,0,sizeof(struct em_stat));
		}
		else {
			Data->LStat=(struct em_stat*)malloc(sizeof(struct em_stat));
			memset(Data->LStat,0,sizeof(struct em_stat));
		}
	}
	else if (S_ISLNK(Data->Stat.st_mode)) {
		Data->LStat=(struct em_stat*)malloc(sizeof(struct em_stat));
		memcpy(Data->LStat,&Data->Stat,sizeof(struct em_stat));
		if (em_stat(Data->Path,&Data->Stat)) {
			Data->StatErrNo=errno;
			memset(&Data->Stat,0,sizeof(struct em_stat));
		}
		i=readlink(Data->Path,tmp,sizeof(tmp)-1);
		if (i<0) {
			Data->TargetPathErrNo=errno;
			tmp[0]=0;
		}
		else {
			tmp[i]=0;
		}
		Data->TargetPath=tmp;
	}

#if defined(ANDROID)
	pw=getpwuid(Data->Stat.st_uid);
	i=0;
#else
	i=getpwuid_r(Data->Stat.st_uid,&pwbuf,tmp,sizeof(tmp),&pw);
#endif
	if (i==0 && pw && pw->pw_name) Data->Owner=pw->pw_name;
	else Data->Owner=emString::Format("%lu",(unsigned long)Data->Stat.st_uid);

#if defined(ANDROID)
	gr=getgrgid(Data->Stat.st_gid);
	i=0;
#else
	i=getgrgid_r(Data->Stat.st_gid,&grbuf,tmp,sizeof(tmp),&gr);
#endif
	if (i==0 && gr && gr->gr_name) Data->Group=gr->gr_name;
	else Data->Group=emString::Format("%lu",(unsigned long)Data->Stat.st_gid);

	Data->Hidden=(Data->Name[0]=='.');
#endif
}
开发者ID:ackalker,项目名称:eaglemode,代码行数:86,代码来源:emDirEntry.cpp


示例16: FreeData

/*
========================
idSoundSample_XAudio2::Load
========================
*/
void idSoundSample_XAudio2::LoadResource() {
	FreeData();

	if ( idStr::Icmpn( GetName(), "_default", 8 ) == 0 ) {
		MakeDefault();
		return;
	}

	if ( s_noSound.GetBool() ) {
		MakeDefault();
		return;
	}

	loaded = false;

	for ( int i = 0; i < 2; i++ ) {
		idStrStatic< MAX_OSPATH > sampleName = GetName();
		if ( ( i == 0 ) && !sampleName.Replace( "/vo/", va( "/vo/%s/", sys_lang.GetString() ) ) ) {
			i++;
		}
		idStrStatic< MAX_OSPATH > generatedName = "generated/";
		generatedName.Append( sampleName );

		{
			if ( s_useCompression.GetBool() ) {
				sampleName.Append( ".msadpcm" );
			} else {
				sampleName.Append( ".wav" );
			}
			generatedName.Append( ".idwav" );
		}
		loaded = LoadGeneratedSample( generatedName ) || LoadWav( sampleName );

		if ( !loaded && s_useCompression.GetBool() ) {
			sampleName.SetFileExtension( "wav" );
			loaded = LoadWav( sampleName );
		}

		if ( loaded ) {
			if ( cvarSystem->GetCVarBool( "fs_buildresources" ) ) {
				fileSystem->AddSamplePreload( GetName() );
				WriteAllSamples( GetName() );

				if ( sampleName.Find( "/vo/" ) >= 0 ) {
					for ( int i = 0; i < Sys_NumLangs(); i++ ) {
						const char * lang = Sys_Lang( i );
						if ( idStr::Icmp( lang, ID_LANG_ENGLISH ) == 0 ) {
							continue;
						}
						idStrStatic< MAX_OSPATH > locName = GetName();
						locName.Replace( "/vo/", va( "/vo/%s/", Sys_Lang( i ) ) );
						WriteAllSamples( locName );
					}
				}
			}
			return;
		}
	}

	if ( !loaded ) {
		// make it default if everything else fails
		MakeDefault();
	}
	return;
}
开发者ID:Deepfreeze32,项目名称:taken,代码行数:70,代码来源:XA2_SoundSample.cpp


示例17: FreeData

CTextureString::~CTextureString()
{
	FreeData();
}
开发者ID:Joincheng,项目名称:lithtech,代码行数:4,代码来源:texturestring.cpp


示例18: FreeData

	~CGamestatsData()
	{
		FreeData();
	}
开发者ID:AluminumKen,项目名称:hl2sb-src,代码行数:4,代码来源:gamestats.cpp


示例19: FreeData

// Discards temporary data.
void Perspective::ReleaseIntermediate()
{
	FreeData();
}
开发者ID:gamedevtech,项目名称:breeze-2,代码行数:5,代码来源:bePerspective.cpp


示例20: FreeData

CTextureStringImage::~CTextureStringImage()
{
	FreeData();
}
开发者ID:Joincheng,项目名称:lithtech,代码行数:4,代码来源:texturestringimage.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ FreeDir函数代码示例发布时间:2022-05-30
下一篇:
C++ FreeContextBuffer函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap