#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編譯命令,然後它會給我輸出分割故障時添加MySQL客戶端libarary
hello
,如果我用這個gcc -I/usr/local/include -L/usr/lib64/mysql -lmysqlclient test.c -o test -g
線上,那麼它將給我這個segmenation fault error
line
tempry = (char *) malloc(20*sizeof(char));
你並不需要強制轉換malloc的回報,沒有(字符*) – user2760375
使用您發佈的代碼,而無需任何SQL的東西是好的(如果不是在談論長度檢查,或免費或類似的東西),其他地方出了問題。 – moeCake
在命令行結尾處輸入-l選項:I.e. gcc -g -o test test.c -I/usr/local/include -L/usr/lib64/mysql -lmysqlclient – Marian