查看以下代码:
#if 1
mysqlpp::Connection conn(false);
conn.connect(FACE_DB_NAME, "localhost","root", "root");
#endif
m_pconn = new mysqlpp::Connection(false);
m_pconn->connect(FACE_DB_NAME, "localhost","root", "root");
如果" 1"是#defined,Connection对象在堆栈上,两个代码块都执行(conn.connect,和m_pconn-> connect)
如果" 0"是#defined,第二个Connection对象是动态分配的,我在m_pconn-> connect上遇到了分段错误。
有什么想法吗?
答案 0 :(得分:0)
问题是原始应用程序是使用以下编译的:
_GLIBCXX_USE_CXX11_ABI = 0
但是,mysql ++不是。当我有机会时,需要更深入地了解CRT的问题。