前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发那些事儿:Go加C.free释放内存,编译报错是什么原因?

开发那些事儿:Go加C.free释放内存,编译报错是什么原因?

原创
作者头像
TSINGSEE青犀视频
修改2022-11-18 10:34:39
1.1K0
修改2022-11-18 10:34:39
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

在EasyGBS平台功能的开发与测试过程中,我们在go中加上C.free释放内存,出现下图报错:“could not determine kind of name for C.free”(编译失败)。

以下代码为加上C.free函数后,导致编译失败:

在EasyGBS同个项目中,其他的go文件也有C.free这样的方式释放内存函数。在编译可执行文件时,并没有出现编译错误。

所以在这里,我立马联想到可能是某个C的头文件没有加进去。因为在go中写C程序,不会有错误提示。所以这样就导致写出了错误,但是不知道。只有到编译成可执行程序时才会报错。

那么针对上述情况,对比两个go中C的头文件,最终找到#include <stdlib.h>头文件的引用。

cgo中C.free可以与#include <stdlib.h>一起使用,参考如下:

作为一家起源于EasyDarwin开源框架的技术型企业,在开发过程中,我们也乐于和所有的技术开发爱好者们一起交流代码技术、分享开发经验,为大家提供一些小小的参考。

随着AI技术的不断发展和落地应用,我们也逐渐在平台中融入人工智能检测及分析技术,例如人脸检测、人脸识别、人流量统计、车辆检测、车牌识别、轨迹跟踪、行为识别等。目前我们基于EasyCVR平台和AI安全生产摄像机,推出了可应用在企业安全生产场景中的视频+AI解决方案。其中,AI安全生产摄像机采用了全新嵌入式多算法框架,内置多种AI算法,可根据摄像头配置选择算法,除了安全帽检测,还包括烟火检测、室内通道堵塞检测、离岗睡岗检测、周界入侵检测、室外消防通道占压检测等。感兴趣的用户可以前往演示平台进行体验或部署测试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档