<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>评论：Berkeley DB 4.8 的 dbstl API</title>
	<atom:link href="http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/</link>
	<description>Oracle Berkeley DB 中国研发团队的博客</description>
	<lastBuildDate>Thu, 15 Dec 2011 10:53:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-547</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Thu, 03 Dec 2009 15:18:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-547</guid>
		<description>请教为什么dbstl_startup不能执行两次？
dbstl_startup()
dbstl_exit();
dbstl_startup();
dbstl_exit();
立马出错！</description>
		<content:encoded><![CDATA[<p>请教为什么dbstl_startup不能执行两次？<br />
dbstl_startup()<br />
dbstl_exit();<br />
dbstl_startup();<br />
dbstl_exit();<br />
立马出错！</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：fakeid</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-502</link>
		<dc:creator>fakeid</dc:creator>
		<pubDate>Sat, 07 Nov 2009 08:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-502</guid>
		<description>好了。编译了一下。</description>
		<content:encoded><![CDATA[<p>好了。编译了一下。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：fakeid</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-498</link>
		<dc:creator>fakeid</dc:creator>
		<pubDate>Fri, 06 Nov 2009 19:06:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-498</guid>
		<description>In file included from d:/Oracle/BDB4.8.24/include/dbstl_container.h:13,
                 from d:/Oracle/BDB4.8.24/include/dbstl_dbc.h:18,
                 from d:/Oracle/BDB4.8.24/include/dbstl_map.h:15,
                 from StlAccessExample.cpp:18:
d:/Oracle/BDB4.8.24/include/dbstl_resource_manager.h:118: warning: `thread&#039; attr    ibute directive ignored
In file included from StlAccessExample.cpp:18:
d:/Oracle/BDB4.8.24/include/dbstl_map.h:681: error: explicit specialization in n    on-namespace scope `class dbstl::db_map_base_iterator&#039;
d:/Oracle/BDB4.8.24/include/dbstl_map.h:681: error: enclosing class templates ar    e not explicitly specialized
d:/Oracle/BDB4.8.24/include/dbstl_map.h:685: error: non-member function `void db    stl::assign_second0(std::pair&amp;, const dbstl::_DB_STL_set_value&amp;)&#039;     cannot have `const&#039; method qualifier
d:/Oracle/BDB4.8.24/include/dbstl_map.h:685: error: `assign_second0&#039; is not a te    mplate function
d:/Oracle/BDB4.8.24/include/dbstl_map.h:685: error: invalid function declaration
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1094: error: explicit specialization in     non-namespace scope `class dbstl::db_map_iterator&#039;
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1094: error: enclosing class templates a    re not explicitly specialized
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1098: error: non-member function `void d    bstl::assign_second(std::pair&amp;, const dbstl::_DB_STL_set_va    lue&amp;)&#039; cannot have `const&#039; method qualifier
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1098: error: `assign_second&#039; is not a te    mplate function
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1098: error: invalid function declaratio    n</description>
		<content:encoded><![CDATA[<p>In file included from d:/Oracle/BDB4.8.24/include/dbstl_container.h:13,<br />
                 from d:/Oracle/BDB4.8.24/include/dbstl_dbc.h:18,<br />
                 from d:/Oracle/BDB4.8.24/include/dbstl_map.h:15,<br />
                 from StlAccessExample.cpp:18:<br />
d:/Oracle/BDB4.8.24/include/dbstl_resource_manager.h:118: warning: `thread&#8217; attr    ibute directive ignored<br />
In file included from StlAccessExample.cpp:18:<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:681: error: explicit specialization in n    on-namespace scope `class dbstl::db_map_base_iterator&#8217;<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:681: error: enclosing class templates ar    e not explicitly specialized<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:685: error: non-member function `void db    stl::assign_second0(std::pair&amp;, const dbstl::_DB_STL_set_value&amp;)&#8217;     cannot have `const&#8217; method qualifier<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:685: error: `assign_second0&#8242; is not a te    mplate function<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:685: error: invalid function declaration<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1094: error: explicit specialization in     non-namespace scope `class dbstl::db_map_iterator&#8217;<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1094: error: enclosing class templates a    re not explicitly specialized<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1098: error: non-member function `void d    bstl::assign_second(std::pair&amp;, const dbstl::_DB_STL_set_va    lue&amp;)&#8217; cannot have `const&#8217; method qualifier<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1098: error: `assign_second&#8217; is not a te    mplate function<br />
d:/Oracle/BDB4.8.24/include/dbstl_map.h:1098: error: invalid function declaratio    n</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：fakeid</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-497</link>
		<dc:creator>fakeid</dc:creator>
		<pubDate>Fri, 06 Nov 2009 18:26:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-497</guid>
		<description>很好。我打算用这个。对one-to-many型的映射搞不太明白，请楼主指教。我看了c++ db4.8api，好像这个支持不是很好，需要映射一个key[],数组的，也就是说大小是定值。dbstl这方面有什么改进吗？
还有，dbstl缺少文档。只找到一篇这个
http://www.linuxjournal.com/article/9374</description>
		<content:encoded><![CDATA[<p>很好。我打算用这个。对one-to-many型的映射搞不太明白，请楼主指教。我看了c++ db4.8api，好像这个支持不是很好，需要映射一个key[],数组的，也就是说大小是定值。dbstl这方面有什么改进吗？<br />
还有，dbstl缺少文档。只找到一篇这个<br />
<a href="http://www.linuxjournal.com/article/9374" rel="nofollow">http://www.linuxjournal.com/article/9374</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-460</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Tue, 03 Nov 2009 02:05:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-460</guid>
		<description>在dll工程下链接dbstl的问题找到了。由于dbstl使用了线程本地存储，所以不能用loadlibrary或loadlibraryex来动态调用。改用静态调用就行了。</description>
		<content:encoded><![CDATA[<p>在dll工程下链接dbstl的问题找到了。由于dbstl使用了线程本地存储，所以不能用loadlibrary或loadlibraryex来动态调用。改用静态调用就行了。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-450</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Fri, 30 Oct 2009 02:16:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-450</guid>
		<description>更正。这时候return tinst_;返回的将是一个空指针。如果工程是exe类型则无此问题.这句话不够精确。应该说是return tinst_将会产生非法操作。因为tinst_这时候指向的地址是不存在的地址。</description>
		<content:encoded><![CDATA[<p>更正。这时候return tinst_;返回的将是一个空指针。如果工程是exe类型则无此问题.这句话不够精确。应该说是return tinst_将会产生非法操作。因为tinst_这时候指向的地址是不存在的地址。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-448</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Thu, 29 Oct 2009 09:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-448</guid>
		<description>在程序库里定义static变量，然后让dll调用，确实好像没有什么好的解决办法。现在唯一想到的解决办法就是在dll工程里加入整个dbstl的源代码，然后再编译，不调用任何libdb_stl48*.lib或dll,应该没问题。
这应该算是不是解决办法的解决办法。</description>
		<content:encoded><![CDATA[<p>在程序库里定义static变量，然后让dll调用，确实好像没有什么好的解决办法。现在唯一想到的解决办法就是在dll工程里加入整个dbstl的源代码，然后再编译，不调用任何libdb_stl48*.lib或dll,应该没问题。<br />
这应该算是不是解决办法的解决办法。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-447</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Thu, 29 Oct 2009 09:38:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-447</guid>
		<description>不过在dll或lib工程里定义static变量是老大难问题，也不能算是bug,就是不知道有什么好的解决方案？</description>
		<content:encoded><![CDATA[<p>不过在dll或lib工程里定义static变量是老大难问题，也不能算是bug,就是不知道有什么好的解决方案？</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-446</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Thu, 29 Oct 2009 09:37:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-446</guid>
		<description>问题报告：
    class TlsWrapper这个类里面定义了一个静态成员static TLS_DECL_MODIFIER T *tinst_;，这样的话，在dll工程里无论是动态链接或静态链接libdb_stl48sd.lib,会出问题，导致运行到
if ((pinst = TlsWrapper::get_tls_obj()) == NULL)直接出错，
	static T *get_tls_obj()
	{
		return tinst_;
	}
这时候return tinst_;返回的将是一个空指针。如果工程是exe类型则无此问题！</description>
		<content:encoded><![CDATA[<p>问题报告：<br />
    class TlsWrapper这个类里面定义了一个静态成员static TLS_DECL_MODIFIER T *tinst_;，这样的话，在dll工程里无论是动态链接或静态链接libdb_stl48sd.lib,会出问题，导致运行到<br />
if ((pinst = TlsWrapper::get_tls_obj()) == NULL)直接出错，<br />
	static T *get_tls_obj()<br />
	{<br />
		return tinst_;<br />
	}<br />
这时候return tinst_;返回的将是一个空指针。如果工程是exe类型则无此问题！</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：林林</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-48-%e7%9a%84-dbstl-api/comment-page-1/#comment-412</link>
		<dc:creator>林林</dc:creator>
		<pubDate>Mon, 19 Oct 2009 09:41:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=610#comment-412</guid>
		<description>了解</description>
		<content:encoded><![CDATA[<p>了解</p>
]]></content:encoded>
	</item>
</channel>
</rss>
Դ
