- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个问题,它让我发疯。
在一个名为cargo_id_whitelist(MYSQL * conexion,struct info * data)的函数中
我执行了 mysql 查询。但每次我调用 mysql api 函数时mysql_use_res(conexion) 它会破坏已用内存,破坏数据(主要是数据结构)
示例
printf("-kind-> %d \n",conf_var->next->next->id) //work its display the third node id info;
res=( MYSQL_RES *)mysql_use_result(conexion); //this break my memory
printf("puntero %p \n",res);
printf("-kind-> %d \n",conf_var->next->next->id); //segfault
conf_var 是一个链表。
有什么我需要知道的吗?
最佳答案
如果如您的评论中所示,您的代码如下:
MYSQL *conn;
if (!mysql_real_connect(conn, blah, blah, blah)) {
return 1;
}
那么你就违反了规则,所有的赌注都失败了。 MySQL documentation page for mysql_real_connect()
状态:
The first parameter should be the address of an existing MYSQL structure. Before calling
mysql_real_connect()
you must callmysql_init()
to initialize the MYSQL structure.
语句MYSQL *conn;
(假设它不是静态存储持续时间)只是创建一个指向任意位置的指针,并且除非您初始化它,否则使用它可能会给您带来很大的悲伤。
修复可能只是简单地替换:
MYSQL *conn;
与:
MYSQL *conn = mysql_init (NULL);
这将为您提供一个正确初始化的新对象,然后您可以将其传递给mysql_real_connect()
。
关于mysql_use_result 踩踏已用内存 Ansi-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5684178/
在客户端 javascript 我有 stomp.subscribe("/topic/path", function (message) { console.info("mes
我是一名优秀的程序员,十分优秀!