cxcore - 这是opencv里面的一个c++编译的库函数,我有几个不理解的地方想请教?
高洛峰
高洛峰 2017-04-17 11:55:15
[C++讨论组]

include "_cxcore.h"

ifdef _TMS320C6X

// default
void*
cvAlloc( size_t size)
{
void * ptr;
CV_FUNCNAME( "cvAlloc" );//这个地方是干什么的??cv_funcname是什么函数?
BEGIN;

ptr = memalign( (CV_MALLOC_ALIGN/8), size);//这个cv_MALLOC_ALIGN是什么?
if( !ptr )
    CV_ERROR( CV_StsNoMem, "Out of memory" );

__END__;
return ptr;

}
// default
void
cvFree_( void* ptr)
{
if(ptr)
free(ptr);
}

else // _TMS320C6X

// default
void*
cvAlloc( size_t size)
{
char *ptr, *ptr0;
CV_FUNCNAME( "cvAlloc" );
BEGIN;

ptr0 = (char*)malloc(
    (size_t)(size + CV_MALLOC_ALIGN*((size >= 4096) + 1) + sizeof(char*)));//(size_t)的作用是什么??,这句话的作用是什么??

if( !ptr0 )
    return 0;

// align the pointer
ptr = (char*)cvAlignPtr(ptr0 + sizeof(char*) + 1, CV_MALLOC_ALIGN);
*(char**)(ptr - sizeof(char*)) = ptr0;

__END__;
return ptr;

}
// default
void
cvFree_( void* ptr)
{
// Pointer must be aligned by CV_MALLOC_ALIGN
if(ptr)
{
if( ((size_t)ptr & (CV_MALLOC_ALIGN-1)) != 0 )
return CV_BADARG_ERR;
free( *((char**)ptr - 1) );
}

}

endif // _TMS320C6X

/* End of file. */
问题写到了函数里面,希望能得到解答,谢谢!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号