#include<stdio.h>
#include<stdlib.h>
#include<mysql/mysql.h>
int main()
{
char *tempry;
tempry = (char *) malloc(20*sizeof(char));
sprintf(tempry,"hello");
printf("\n%s\n",tempry);
/* Here i can use mysql connectivity code */
return 0;
}
当我使用此
gcc test.c -o test -g
gcc编译命令时,它将给我输出hello
如果我使用此
gcc -I/usr/local/include -L/usr/lib64/mysql -lmysqlclient test.c -o test -g
行,那么它将在此行中给我segmenation fault error
tempry = (char *) malloc(20*sizeof(char));
最佳答案
检查您的mysql_real_connect()
。您可能将NULL
值传递给mysql_real_connect()
。mysql_init()
失败时返回NULL
。那么您可以将此NULL传递给mysql_real_connect()
,从而导致它成为segmentation fault
。
mysql_init() Reference page
关于c - 添加mysql客户端库时发生段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20948844/