﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-小程序的梦想</title><link>http://www.cppblog.com/gddsky/</link><description>一辈子做个小程序员</description><language>zh-cn</language><lastBuildDate>Tue, 07 Apr 2026 11:30:37 GMT</lastBuildDate><pubDate>Tue, 07 Apr 2026 11:30:37 GMT</pubDate><ttl>60</ttl><item><title>理论结合实践？</title><link>http://www.cppblog.com/gddsky/archive/2009/03/22/77515.html</link><dc:creator>gddsky</dc:creator><author>gddsky</author><pubDate>Sun, 22 Mar 2009 13:14:00 GMT</pubDate><guid>http://www.cppblog.com/gddsky/archive/2009/03/22/77515.html</guid><wfw:comment>http://www.cppblog.com/gddsky/comments/77515.html</wfw:comment><comments>http://www.cppblog.com/gddsky/archive/2009/03/22/77515.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gddsky/comments/commentRss/77515.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gddsky/services/trackbacks/77515.html</trackback:ping><description><![CDATA[<p>是理论结合实践还是实践结合理论？<br><br>没有学习理论知识，直接就去实践（实践什么，感觉应该是摸索），结果就是刚开始会有大进步，后面就很难有进步。<br>学习理论知识，再去进行实践，确实效果要好很多，在实践过程或结尾再对比理论知识进行思考总结，这好像是更好的一条出路。<br><br>孔子说的&#8220;学而时习之&#8221;，在这里的&#8220;习&#8221;个人将它当成为实践加对比思考总结。</p>
<br>本人基本上就是走的第一条路，虽然工作了几年但至今没有什么大的进展，这两天巧合看到了&#8220;全国计算机技术与软件专业技术资格（水平）考试指定用书&#8221;的几本书，看了一下目录与部分内容，终于体会到这个理论知识的重要性。在工作的过程中发生的一些问题在这些书上竟然找到了一些答案。<br><br>
<img src ="http://www.cppblog.com/gddsky/aggbug/77515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gddsky/" target="_blank">gddsky</a> 2009-03-22 21:14 <a href="http://www.cppblog.com/gddsky/archive/2009/03/22/77515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LUA脚本里面加载DLL</title><link>http://www.cppblog.com/gddsky/archive/2009/03/18/77073.html</link><dc:creator>gddsky</dc:creator><author>gddsky</author><pubDate>Wed, 18 Mar 2009 13:35:00 GMT</pubDate><guid>http://www.cppblog.com/gddsky/archive/2009/03/18/77073.html</guid><wfw:comment>http://www.cppblog.com/gddsky/comments/77073.html</wfw:comment><comments>http://www.cppblog.com/gddsky/archive/2009/03/18/77073.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/gddsky/comments/commentRss/77073.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gddsky/services/trackbacks/77073.html</trackback:ping><description><![CDATA[<font style="BACKGROUND-COLOR: #ffffff"></font>
<p>今天碰上一个人在那里说了一下在LUA里面加载DLL的模块，因为没有接触过，也就去试了一下，其实挺简单。<br>我在这里定义这个模块的名字为testmod。<br><br>建立一个LUA文件：<br>file test.lua<br>require("testmod")<br><br>新建一个DLL工程，命名为testmod，并在工程里面加入一个函数：<br>extern "C" int luaopen_testmod(lua_State* L);<br>luaopen_testmod这个的目的是：<br>LUA的require会在找不到.lua文件的情况下去找对应名字的.dll文件，当找到对应名字的dll文件时，将会尝试获取DLL里面的luaopen_<span style="COLOR: red">modname</span>的函数，并执行它，所以我们这里定义的luaopen_<span style="COLOR: red">testmod</span>，其实就是DLL对应LUA的初始化函数。<br><br>这有个例子：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #000000">5.1</span><span style="COLOR: #000000">&nbsp;Hello&nbsp;World<br></span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #000000">新建一个控制台DLL工程,&nbsp;名字是&nbsp;luabind_test.<br></span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">luabind</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">luabind.hpp</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">luabind</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">lua_include.hpp</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">extern</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">lua.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">lauxlib.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">12</span>&nbsp;<span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">13</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">14</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;greet()<br></span><span style="COLOR: #008080">15</span>&nbsp;<span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">16</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello&nbsp;world!\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">17</span>&nbsp;<span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">18</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">19</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">extern</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;luaopen_luabind_test(lua_State</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;L)<br></span><span style="COLOR: #008080">20</span>&nbsp;<span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">21</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;luabind;<br></span><span style="COLOR: #008080">22</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">23</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;open(L);<br></span><span style="COLOR: #008080">24</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">25</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;module(L)<br></span><span style="COLOR: #008080">26</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<br></span><span style="COLOR: #008080">27</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">greet</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">greet)<br></span><span style="COLOR: #008080">28</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];<br></span><span style="COLOR: #008080">29</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">30</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">31</span>&nbsp;<span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">32</span>&nbsp;<span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">33</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">34</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">35</span>&nbsp;<span style="COLOR: #000000">把生成的DLL和lua.exe</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">lua51.dll放在同一个目录下.<br></span><span style="COLOR: #008080">36</span>&nbsp;<span style="COLOR: #000000"><br></span><span style="COLOR: #008080">37</span>&nbsp;<span style="COLOR: #000000">Lua&nbsp;</span><span style="COLOR: #000000">5.1</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;&nbsp;Copyright&nbsp;(C)&nbsp;</span><span style="COLOR: #000000">1994</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">2007</span><span style="COLOR: #000000">&nbsp;Lua.org,&nbsp;PUC</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Rio<br></span><span style="COLOR: #008080">38</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;require&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">luabind_test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">39</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;greet()<br></span><span style="COLOR: #008080">40</span>&nbsp;<span style="COLOR: #000000">Hello&nbsp;world</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">41</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">42</span>&nbsp;<span style="COLOR: #000000"></span></div>
<p><br></p>
参考：<br><a href="http://www.inf.puc-rio.br/~roberto/pil2/chapter15.pdf">http://www.inf.puc-rio.br/~roberto/pil2/chapter15.pdf</a><br><a href="http://blog.csdn.net/linkerlin/archive/2008/04/06/2254725.aspx">http://blog.csdn.net/linkerlin/archive/2008/04/06/2254725.aspx</a>
<img src ="http://www.cppblog.com/gddsky/aggbug/77073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gddsky/" target="_blank">gddsky</a> 2009-03-18 21:35 <a href="http://www.cppblog.com/gddsky/archive/2009/03/18/77073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>脚本与客户端的故事</title><link>http://www.cppblog.com/gddsky/archive/2009/03/17/76937.html</link><dc:creator>gddsky</dc:creator><author>gddsky</author><pubDate>Tue, 17 Mar 2009 14:47:00 GMT</pubDate><guid>http://www.cppblog.com/gddsky/archive/2009/03/17/76937.html</guid><wfw:comment>http://www.cppblog.com/gddsky/comments/76937.html</wfw:comment><comments>http://www.cppblog.com/gddsky/archive/2009/03/17/76937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gddsky/comments/commentRss/76937.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gddsky/services/trackbacks/76937.html</trackback:ping><description><![CDATA[待续
<img src ="http://www.cppblog.com/gddsky/aggbug/76937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gddsky/" target="_blank">gddsky</a> 2009-03-17 22:47 <a href="http://www.cppblog.com/gddsky/archive/2009/03/17/76937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小程序员梦想</title><link>http://www.cppblog.com/gddsky/archive/2009/03/17/76926.html</link><dc:creator>gddsky</dc:creator><author>gddsky</author><pubDate>Tue, 17 Mar 2009 14:15:00 GMT</pubDate><guid>http://www.cppblog.com/gddsky/archive/2009/03/17/76926.html</guid><wfw:comment>http://www.cppblog.com/gddsky/comments/76926.html</wfw:comment><comments>http://www.cppblog.com/gddsky/archive/2009/03/17/76926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/gddsky/comments/commentRss/76926.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/gddsky/services/trackbacks/76926.html</trackback:ping><description><![CDATA[<p><font style="BACKGROUND-COLOR: #bdcdd0">一辈子做个小程序员</font></p>
<img src ="http://www.cppblog.com/gddsky/aggbug/76926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/gddsky/" target="_blank">gddsky</a> 2009-03-17 22:15 <a href="http://www.cppblog.com/gddsky/archive/2009/03/17/76926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>