Linux-MYSQL数据库与Linux程序开发.doc

上传人:飞****2 文档编号:78785799 上传时间:2023-03-19 格式:DOC 页数:13 大小:461KB
返回 下载 相关 举报
Linux-MYSQL数据库与Linux程序开发.doc_第1页
第1页 / 共13页
Linux-MYSQL数据库与Linux程序开发.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《Linux-MYSQL数据库与Linux程序开发.doc》由会员分享,可在线阅读,更多相关《Linux-MYSQL数据库与Linux程序开发.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Linux程序设计实验指导(三)MYSQL数据库与Linux程序开发实验三:MYSQL数据库与Linux程序开发(综合性、4学时)本项实验综合了MYSQL与Linux程序开发、多模块软件编译与链接过程等章节的知识点。根据实验指导书的要求和步骤,完成相应的程序开发及多模块软件编译与链接过程,并在Linux环境下,完成程序开发及软件剖析。一、实验目的:1)掌握MYSQL数据库命令与应用编程。2)了解Linux多模块软件编译与链接过程。3)熟悉Linux下软件剖析与度量工具的使用。二、实验内容1、 在你的Linux环境中安装MYSQL数据库系统。记录安装步骤和命令过程。1) 在Ubuntu12.04

2、终端输入sudo apt-get install mysql-server2) 按提示输入Y确认安装3) 为使用数据库的用户创建密码,安装完成2、 编辑教材第298页select4.c程序,记录编译命令和运行结果。/select4.c#include #include #include mysql.hMYSQL my_connection;MYSQL_RES *res_ptr;MYSQL_ROW sqlrow;void display_header();void display_row();int main(int argc,char *argv)int res;int first_row =

3、1;mysql_init(&my_connection);if(mysql_real_connect(&my_connection,localhost,rick,foo,0,NULL,0)printf(Connection success!n);res=mysql_query(&my_connection,SELECT childno,fname,age FROM children WHERE age5);if(res)fprintf(stderr,SELECT error:%sn,mysql_error(&my_connection);elseres_ptr = mysql_use_resu

4、lt(&my_connection);if(res_ptr)while(sqlrow=mysql_fetch_row(res_ptr)if(first_row)display_header();first_row=0;display_row();if(mysql_errno(&my_connection)fprintf(stderr,Retrive error:%sn,mysql_error(&my_connection);mysql_free_result(res_ptr);mysql_close(&my_connection);elsefprintf(stderr,Connection f

5、ailedn);if(mysql_errno(&my_connection)fprintf(stderr,Connection error %d: %sn,mysql_errno(&my_connection),mysql_error(&my_connection);return EXIT_SUCCESS;void display_header()MYSQL_FIELD *field_ptr;printf(Column details:n);while(field_ptr = mysql_fetch_field(res_ptr) != NULL)printf(t Name:%sn,field_

6、ptr-name);printf(t Type:);if(IS_NUM(field_ptr-type)printf(Numeric fieldn);elseswitch(field_ptr-type)case FIELD_TYPE_VAR_STRING:printf(VARCHARn);break;case FIELD_TYPE_LONG:printf(LONGn);break;default:printf(Type is %d,check in mysql_com.hn,field_ptr-type);printf(t Max width %ldn,field_ptr-length);if(

7、field_ptr-flags & AUTO_INCREMENT_FLAG)printf(t Auto incrementsn);printf(n);void display_row()unsigned int field_count;field_count =0;while(field_count mysql_field_count(&my_connection)if(sqlrowfield_count)printf(%s ,sqlrowfield_count);elseprintf(NULL);field_count+;printf(n);3、 编写程序p.c,其功能是从键盘输入两个实数,

8、输出这两个实数的平方和,生成可执行文件为pow。编写源程序,记录编译的命令和结果。/p.c#include #include int main() double a,b; double sum; printf(Please input a and b:); scanf(%lf %lf,&a,&b); sum=a*a+b*b; printf(a2+b2=%lfn,sum); return 0;4、 编程power.c,其功能是从键盘输入两个实数x和y,计算x的y次方,生成可执行文件名为XpowerY。编写源程序,记录编译命令及程序的运行结果。/power.c#include #include i

9、nt main() double x,y; double s; printf(Please input x and y:); scanf(%lf %lf,&x,&y); s=pow(x,y); printf(xy=%lfn,s); return 0;5、 完成P319页的实验过程,创建makefile1等相关文件,并记录命令和结果。/Makefile1myapp: main.o 2.o 3.o gcc -o myapp main.o 2.o 3.omain.o: main.c a.h gcc -c main.c2.o: 2.c a.h b.h gcc -c 2.c3.o: 3.c b.h c.

10、h gcc -c 3.c/main.c#include #include a.hextern void function_two();extern void function_three();int main() function_two(); function_three(); exit (EXIT_SUCCESS);/2.c#include a.h#include b.hvoid function_two()/3.c#include b.h#include c.hvoid function_three()6、 完成P327页管理函数库的实验,并将库文件名改为libmy.a, 创建后将其安装

11、到系统的库文件默认目录。1) 完成P327的所有步骤;/Makefile5all:myapp#Which compilerCC = gcc#Where to installINSTDIR = /usr/local/bin#Where are include files keptINCLUDE = .#Options for developmentCFLAGS = -g -Wall -ansi#Local LibrariesMYLIB = mylib.amyapp:main.o $(MYLIB)$(CC) -o myapp main.o $(MYLIB)$(MYLIB):$(MYLIB)(2.o

12、) $(MYLIB)(3.o)main.o:main.c a.h2.o:2.c a.h b.h3.o:3.c b.h c.hclean:-rm main.o 2.o 3.o $(MYLIB)install:myappif -d $(INSTDIR); then cp myapp $(INSTDIR);chmod a+x $(INSTDIR)/myapp;chmod og-w $(INSTDIR)/myapp;echo Installed in $(INSTDIR);elseecho Sorry,$(INSTDIR) does not exist;fi2) 安装库文件,并写出安装库函数文件的步骤

13、; 3) 写出使用所创建库libmy.a的编译命令。gcc o myapp main.o libmy.a 7、完成P401页僵尸进程的实验。记录命令与运行结果。/Makefile5all:myapp#Which compilerCC = gcc#Where to installINSTDIR = /usr/local/bin#Where are include files keptINCLUDE = .#Options for developmentCFLAGS = -g -Wall -ansi#Local LibrariesMYLIB = mylib.amyapp:main.o $(MYLI

14、B)$(CC) -o myapp main.o $(MYLIB)$(MYLIB):$(MYLIB)(2.o) $(MYLIB)(3.o)main.o:main.c a.h2.o:2.c a.h b.h3.o:3.c b.h c.hclean:-rm main.o 2.o 3.o $(MYLIB)install:myappif -d $(INSTDIR); then cp myapp $(INSTDIR);chmod a+x $(INSTDIR)/myapp;chmod og-w $(INSTDIR)/myapp;echo Installed in $(INSTDIR);elseecho Sor

15、ry,$(INSTDIR) does not exist;fi三、实验结果与讨论1、写出使用C访问MYSQL数据库的步骤。你所使用的MYSQL版本号是多少?安装目录是?a初始化一个连接句柄MYSQL *mysql_init(MYSQL*);b.实际进行连接MYSQL*mysql_real_connect(MYSQL *connection, const char *server_host,const char *sql_user_name, const char *sql_password, const char*db_name,unsigned int port_number,const c

16、har *unix_socket_name, unsigned int flags); c.mysql_close(MYSQL *connection); 版本:目录:2、在使用make实用程序时,makefile文件有什么作用? 控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录3、试举例说明在makefile中引进特殊目标的作用是什么?制作多个目标,拓展make功能4、在Linux中创建进程的函数是?什么是僵尸进程?创建进程的函数:pid_t fork(void); 僵尸进程:子进程终止时,它与父进程之间的关联还会保持,直到父进程也正常终止或父进程调用wait才告结束。所以,进程中代表子进程的表项不会立即释放。虽然子进程已经不再运行,但它仍然存在于系统中,因为它的退出码还需要保存起来,以备父进程今后的wait调用使用,这时它将成为一个死进程或僵尸进程。四、总结这次实验学习了MYSQL数据库的基本命令:打开、查找等等,以及和应用编程相关系;还学习了多模块软件编译与链接的基本步骤,软件剖析和度量工具的初步使用,收获良多

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁