mysql:3558
From: "zhaozhao" <"zhaozhao" <zhaozhao@xxxxxxxxxx>>
Date: Tue, 24 Apr 2001 19:43:43 +0900
Subject: [mysql 03558] Mysql & gcc
皆様:
Mysqlの初心者です。どうぞよろしくお願いしたします。
実はRedHat Linux7.0でMysqlの勉強が始まったばかりです。gccでプログラムを
作ってみると、うまくいかなかったのです。以下は私のコードとMakefileですが、何
かの問題点がありましたら教えていただけないでしょうか?
mysql1.c :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "/usr/local/include/mysql/mysql.h"
main(argc,argv)
int argc;
char **argv;
{
MYSQL sql_server;
MYSQL *d_mysql;
/* MYSQL *d_mysql=NULL; */
MYSQL_RES *result;
MYSQL_ROW sql_row;
MYSQL_FIELD *field;
char query[2048], m_name[64];
puts("I am here 1234");
fprintf(stderr,"Test for Mysql interface\n");
d_mysql=mysql_connect(&sql_server, NULL, "root", "password");
if (!d_mysql)
{
/* return; */
exit(1);
}
else{
fprintf(stderr,"Success in database connecting!\n");
}
puts("I am here 1");
if (mysql_select_db(d_mysql, "aru_db"))
{
/* return; */
exit(1);
}
puts("I am here 2");
/* Query */
snprintf(query, 2048, "select a,b,c from table1 where a='x'");
mysql_query(d_mysql, query);
result = mysql_store_result(d_mysql);
if (!result )
{
free(query);
mysql_free_result(result);
return(NULL);
}
sql_row = mysql_fetch_row(result);
sprintf(m_name,"%s", sql_row[0]);
}
Makefile:
FFLAGS = -g
CFLAGS = -g
GCCLIBA = /usr/lib/gcc-lib/i386-redhat-linux/2.96/libgcc.a
MYSQLINC = /usr/local/mysql/include
MYSQLLIB = /usr/local/mysql/lib
BIN = /home/usera/bin
all :mysql1
mysql1 :mysql1.o
$(CC) -shared $(CFLAGS) mysql1.o -L$(MYSQLLIB) -lmysqlclient -lm \
-o $(BIN)/mysql1
.c.o:
$(CC) $(CFLAGS) -c $*.c
.f.o:
$(FC) $(FFLAGS) -c $*.f
問題がないようにmakeコマンドでコンパイルしましたが、実行するときには、いつも
以下のエーラがでるわけですが、
Segmentation fault (core dumped)
私の注目したところと言えば、まず puts("I am here 1234") も実行されていな
かったということです。結構不思議だと思いますが、何方かに教えて頂ければ大変助
かります。それでは、宜しくお願いいたします。
趙 昭
-> 3558 2001-04-24 19:43 ["zhaozhao" <zhaozhao] Mysql & gcc 3559 2001-04-25 09:10 ┣[<endo_t@xxxxxxxxxx> ] 3561 2001-04-25 09:37 ┃┗[<endo_t@xxxxxxxxxx> ] 3562 2001-04-25 09:50 ┣[<endo_t@xxxxxxxxxx> ] 3563 2001-04-25 23:07 ┗[とみたまさひろ <tomm]