| 170 | } |
| 171 | |
| 172 | int main(void) |
| 173 | { |
| 174 | // WIN32 ����Ҫ���ô˺��������й� SOCKET �ij�ʼ�� |
| 175 | acl::acl_cpp_init(); |
| 176 | |
| 177 | // ������������־�������Ļ |
| 178 | acl::log::stdout_open(true); |
| 179 | |
| 180 | acl::string line; |
| 181 | acl::stdin_stream in; |
| 182 | acl::stdout_stream out; |
| 183 | |
| 184 | #if defined(_WIN32) || defined(_WIN64) |
| 185 | const char* libname = "libmysql.dll"; |
| 186 | #else |
| 187 | const char* libname = "libmysqlclient_r.so"; |
| 188 | #endif |
| 189 | |
| 190 | acl::string path; |
| 191 | |
| 192 | // ��Ϊ���ö�̬���صķ�ʽ��������ҪӦ�ø��� mysql �ͻ��˿����ڵ�·�� |
| 193 | out.format("Enter %s load path: ", libname); |
| 194 | if (in.gets(line) && !line.empty()) { |
| 195 | #if defined(_WIN32) || defined(_WIN64) |
| 196 | path.format("%s\\%s", line.c_str(), libname); |
| 197 | #else |
| 198 | path.format("%s/%s", line.c_str(), libname); |
| 199 | #endif |
| 200 | } else { |
| 201 | path = libname; |
| 202 | } |
| 203 | |
| 204 | out.format("%s path: %s\r\n", libname, path.c_str()); |
| 205 | // ���ö�̬����ص�ȫ·�� |
| 206 | acl::db_handle::set_loadpath(path); |
| 207 | |
| 208 | #ifdef WIN32 |
| 209 | const char* dbaddr = "192.168.1.251:3306"; |
| 210 | #else |
| 211 | const char* dbaddr = "127.0.0.1:3306"; |
| 212 | #endif |
| 213 | const char* dbname = "acl_test_db"; |
| 214 | const char* dbuser = "acl_user", *dbpass = "111111"; |
| 215 | acl::db_mysql db(dbaddr, dbname, dbuser, dbpass); |
| 216 | int max = 100; |
| 217 | |
| 218 | // ������������־�������Ļ |
| 219 | acl_msg_stdout_enable(1); |
| 220 | |
| 221 | if (db.open() == false) { |
| 222 | printf("open db(%s) error\r\n", dbname); |
| 223 | getchar(); |
| 224 | return 1; |
| 225 | } |
| 226 | |
| 227 | printf("open db %s ok\r\n", dbname); |
| 228 | |
| 229 | if (tbl_create(db) == false) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…