c/c++访问mysql(gcc)

本文介绍了如何在Linux环境下使用C/C++访问MySQL数据库,通过一个实例展示了如何编写和编译相关代码。作者强调了makefile在组织和编译项目中的重要性,并分享了自己的makefile配置。在学习过程中,作者遇到并解决了调用`mysql_real_connect`时参数不全的问题。文章末尾提供了注意事项和祝读者好运。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近一段时间来在看linux下的C编程。根据我的经验,但凡学习一种新的东西,一定要找到一个引爆点。而我一直对网络、数据库相关的各项技术很关心。故就从这两个方面着手看资料。

从昨天下午开始,我在看C访问mysql。我找到了一篇很好的资料:http://www.hk8.org/old_web/linux/sql/ch13_01.htm 这个页面中带有一个示例,很有启发性。不过这个例子有一个小问题:调用 mysql_real_connect 时少一个参数,只要在最后加一个参数0即可。

这页是用C来访问,下一页就是使用C++来访问。而且提供了封装好的Connection Result 和 Row。特别好用。另外,还提供了一个使用这三个类的示例程序,不过在这个页上没有提供,需要到http://examples.oreilly.com/msql/页面上下载。查看第13章文件夹就可以了。不过这里要提醒大家一下,这是C++文件,需要用g++编译了!!而且文件很多,如果一个个地编译将是一个可观的工作量。而makefile正是来解决这个问题的。我本来不太懂这个东西。今天又找了些资料(http://mrbook.org/tutorials/make/),最后终于解决了。好高兴了啊!!

最后我把我的makefile贴出来:
all: demo
demo: select.o row.o result.o connection.o
    g++ select.o connection.o result.o row.o -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -o demo
select.o: select.cc
    g++ -L/usr/lib/mysql -I/usr/include/mysql -c select.cc
connection.o: connection.cc connection.h
    g++ -L/usr/lib/mysql -I/usr/include/mysql -c connection.cc
result.o: result.cc result.h
    g++ -L/usr/lib/mysql -I/usr/include/mysql -c result.cc
row.o: row.cc row.h
    g++ -L/usr/lib/mysql -I/usr/include/mysql -c row.cc

有两点需要注意
1、文件名最好就是makefile,同时注意大小写,这样直接make就行了,其可执行文件是demo;
2、每个g++命令前一定是一个Tab!!

这个页面在linux下用太费劲了,编辑命令全没了。如果想用格式,只有自己用html标记!!幸好我的功底很好。

good luck!!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值