﻿<?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/bning/</link><description>C++游戏
winsock
mysql</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 09:37:41 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 09:37:41 GMT</pubDate><ttl>60</ttl><item><title>用freebs快一年了</title><link>http://www.cppblog.com/bning/archive/2010/05/07/114792.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Fri, 07 May 2010 14:28:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2010/05/07/114792.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/114792.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2010/05/07/114792.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/114792.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/114792.html</trackback:ping><description><![CDATA[<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用freebsd系统快一年了，去年夏天刚刚开始用时，对系统安装，基本的操作研究过，用源码编译lua和mysql时，lua库文件不能正常链接，mysql的sock也出错。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近公司服务器龙哥重新装过一次，自己在vb上也装上了8.0版本，真正体会到了ports安装软件对使用fb带来的方便，lua和msyql的库都有了，写了个小程序测试也可以用。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 朋友介绍luabind比较强大，去看过一些翻译的文章，比我自己用的这个强啊，更稀奇的是，在fb的ports上也有这个软件，make intall clean就可以看到库文件，在原先的程序上添加luabind，编译慢，又会出错，纠结了一些时间才发现，0.7版本的不支持lua51，只能是lua50，只是在系统上装最新的，但新问题又来了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<img src ="http://www.cppblog.com/bning/aggbug/114792.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2010-05-07 22:28 <a href="http://www.cppblog.com/bning/archive/2010/05/07/114792.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D游戏开发流程[转]</title><link>http://www.cppblog.com/bning/archive/2008/10/29/65453.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Wed, 29 Oct 2008 07:07:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/10/29/65453.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/65453.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/10/29/65453.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/65453.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/65453.html</trackback:ping><description><![CDATA[<p>队伍组成</p>
<p>开发团队<br>n 制作人<br>n 执行制作人<br>n 策划团队<br>n 程式团队<br>n 美术团队</p>
<p>销售团队</p>
<p>测试团队</p>
<p>游戏评论队伍</p>
<p>游戏制作人</p>
<p>n 开发组长(always)<br>n 资源管理 (Resource Management)<br>n 行政管理 (Administration)<br>n 向上負責 (Upward Management)<br>n 专案管理 (Project Management)</p>
<p>游戏执行制作人</p>
<p>n 专案管理执行 (Project Management)<br>n Daily 運作<br>n House Keeping<br>n Not full-time job position</p>
<p>&#160;</p>
<p>游戏策划</p>
<p>n 故事设计 (Story Telling)<br>n 脚本设计 (Scripting)<br>n 玩法设计 (Game Play Design)<br>n 关卡设计 (Level Design)<br>n 游戏調適 (Game Tuning)<br>n 数值设定 (Numerical Setup)<br>n AI 设计 (Game AI)<br>n 音效设定 (Sound FX Setup)<br>n 场景设定 (Scene Setup)</p>
<p>游戏美术</p>
<p>n 场景 (Terrain)<br>n 人物 (Character)<br>n 建模 (Models)<br>n 材質 (Textures)<br>n 动作 (Motion / Animation)<br>n 特效 (FX)<br>n 用户界面User Interface</p>
<p>游戏程序</p>
<p>n 游戏程序 (Game Program)<br>n 游戏开发工具 (Game Tools)<br>n Level Editor<br>n Scene Editor<br>n FX Editor<br>n Script Editor<br>n 游戏Data Exporters from 3D Software<br>n 3dsMax / Maya / Softimage<br>n 游戏引擎开发Game Engine Development<br>n 网络游戏服务端开发Online Game Server Development</p>
<p>&#160;</p>
<p>游戏开发流程</p>
<p>创意 提案 制作 整合 测试 <br>赞成 雏形 除错 调试</p>
<p>Pre-alpha Alpha Beta 结束</p>
<p>n 创意 (Idea)<br>n 提案 (Proposal)<br>n 制作 (Production)<br>n 整合 (Integration)<br>n 测试 (Testing)<br>n 除錯 (Debug)<br>n 调试 (Tuning)</p>
<p>游戏设计(Concept Design)</p>
<p>n 游戏类型 (Game Types)<br>n 游戏世界观 (Game World)<br>n 故事 (Story)<br>n 游戏特色 (Features)<br>n 游戏玩法 (Game Play)<br>n 游戏定位 (Game Product Positioning)<br>n Target player<br>n Marketing segmentation / positioning<br>n 风险评估 (Risk)<br>n SWOT (优势Strength/缺点Weakness/机会Opportunity/威胁Threat)</p>
<p>游戏提案 (Proposal)</p>
<p>n 系統分析 (System Analysis)<br>n 游戏设计文件撰写 (Game Design Document)<br>n 传播媒介文件撰写 (Media Design Document)<br>n 技术设计文案撰写 (Technical Design Document)<br>n 游戏专案建立 (Game Project)<br>n 时间表Schedule <br>n 进程/控制Milestones / Check points <br>n 管理Risk management <br>n 测试计划书<br>n 团队建立 (Team Building)</p>
<p>游戏开发 (Production)</p>
<p>n 美术量产制作<br>n （建模）Modeling<br>n （结构）Textures<br>n （动画）Animation<br>n （动作）Motion<br>n （特效）FX<br>n 程序开发 (Coding)<br>n 策划数值设定</p>
<p>游戏整和 (Integration)</p>
<p>n 关卡串联 (Level Integration)<br>n 数值调整 (Number Tuning)<br>n 音效置入 (Audio)<br>n 完成所有美术<br>n 程旬与美术結合<br>n （攻略）Focus Group (说明书User Study)<br>n 发布一些攻略截图Release some playable levels for focus group</p>
<p>游戏测试 (Testing)</p>
<p>n Alpha（&#945;） 测试<br>n 除錯 (Debug)<br>n Beta （&#946;）测试<br>n 数值微调<br>n Game play 微调<br>n 对网络游戏而言 (MMOG)<br>n 封閉测试 (Closed Beta)<br>n 開放测试 (Open Beta)<br>n 压力（极限）测试 (Critical Testing)<br>n 网络游戏才有</p>
<p>关于Bug</p>
<p>n Bug 分級 (Bug Classification)<br>n A Bug<br>n B Bug<br>n C Bug<br>n S Bug<br>n Principles<br>n Bug 分級从严<br>n Tester（测试对象？—） vs Debugger（调试程序）</p>
<p>系统层System Layer &#8211; APIs</p>
<p>n 3D Graphics API<br>n DirectX 9.0 SDK &#8211; Direct3D<br>n OpenGL 2.0<br>n 2D API<br>n DirectX 9.0 SDK - DirectMedia<br>n Win32 GDI<br>n Input Device<br>n DirectX 9.0 SDK &#8211; DirectInput<br>n Audio<br>n DirectX 9.0 SDK &#8211; DirectSound / Direct3DSound / DirectMedia<br>n OpenAL<br>n OS API<br>n Win32 SDK<br>n MFC<br>n Network<br>n DirectX 9.0 SDK &#8211; DirectPlay<br>n Socket library</p>
<p>引擎层Engine Layer</p>
<p>n 3D Scene Management System<br>n Scene Graph<br>n Shaders<br>n 2D Sprite System<br>n Audio System<br>n Gamepad<br>n Hotkey<br>n Mouse<br>n Timers<br>n Network<br>n DDK Interface<br>n Terrain<br>n Advanced Scene Management &#8211; Space Partition<br>n BSP Tree<br>n Octree<br>n Character System<br>n Motion Blending Techniques<br>n Dynamics<br>n Collision Detection<br>n SoundFX<br>n User Interface</p>
<p>游戏层Game Play Modula</p>
<p>n NPC (Non-playable Characters)<br>n Game AI<br>n Path Finding<br>n Finite State Machine<br>n &#8230;<br>n Avatar<br>n Combat System<br>n FX System<br>n Script System<br>n Trading System<br>n Number System<br>n &#8230;<br>Game Dev Tools<br>n Visual C/C++<br>n .net 2003<br>n Visual C/C++ 6.0+ SP5<br>n DirectX<br>n Current 9.0c<br>n NuMega BoundsChecker<br>n Intel vTune<br>n 3D Tools<br>n 3dsMax/Maya/Softimage<br>n In-house Tools</p>
<p>&#160;</p>
<p>~~~~~~~~~~结束~~~~~~~~~</p>
<p>游戏分类</p>
<p>n RPG (Role playing games角色扮演)<br>n AVG (Adventure games冒险类)<br>n RTS (Real-time strategy games既时战略)<br>n FPS (First-person shooting games主视觉射击）<br>n MMORPG（多人在线角色扮演）<br>n SLG (战棋)<br>n Simulation（模拟）<br>n Sports（运动）<br>n Puzzle games（解迷）<br>n Table games(棋牌）</p>
<img src ="http://www.cppblog.com/bning/aggbug/65453.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-10-29 15:07 <a href="http://www.cppblog.com/bning/archive/2008/10/29/65453.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c++连接数据库</title><link>http://www.cppblog.com/bning/archive/2008/10/16/64154.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Thu, 16 Oct 2008 07:25:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/10/16/64154.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/64154.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/10/16/64154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/64154.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/64154.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 以前到网上查资料,关于C++连接mysql数据库,所以就会用c api来操作mysql,随后想想,只会用c api有点不太满足,于是这几天一直找用ado连接mysql的方法.用ado连接mysql的数据库的资料没找到,反而找到连接sql server的,通过ole db方式成功连接,然后修改一下连接字符,用odbc的方式又成功了,想想,在odbc中配置的sql server数据源连接方式与mysql数据源一样,是否只在变换一下数据源就连接到她的数据库中去呢.结果只修改数据源也把mysql连接成功了.<br>&nbsp;&nbsp;&nbsp; 原来发现,odbc与ole db的方法只是连接字符中provider与dsn之间的区别.而且在dsn中只要写好dsn就可以.用户名和密码等在dsn中已配置好.<br><br><br>下一步就是如何来操作这些存储过程了.因为我的SQL语句都写在数据库上.呵,完全是为了安全吗? <br><br>PS:今天(2009-01-22)终于把C++调用存储过程中的返回数据集搞好了.问题出在联接数据时,最后一个参数没有设置成CLIENT_MULTI_STATEMENT。<br>几个月前没有显示中文是因为没有加&#8220;mysql_query(&amp;mysql,"set names gb2312")，现在把两个问题都解决了。
<img src ="http://www.cppblog.com/bning/aggbug/64154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-10-16 15:25 <a href="http://www.cppblog.com/bning/archive/2008/10/16/64154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql存储过程的输出值</title><link>http://www.cppblog.com/bning/archive/2008/05/29/51484.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Thu, 29 May 2008 08:14:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/05/29/51484.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/51484.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/05/29/51484.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/51484.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/51484.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个C++程序中,用到c api来调动存储过程.输入多个参数,返回一个int结果.<br><br>&nbsp;&nbsp;&nbsp; 用c api都调用好后,读取数据时,rows[0]不能把MYSQL_RES转成整型.到网上找了好多资料.没查到为什么<br><br><br>&nbsp;后来在csdn中,2005年的一个帖.楼主也出现这问题,而他是不确定用atoi能否表示.<br><br>看了后,是应该用atoi把他转成int型的.结果正确.
<img src ="http://www.cppblog.com/bning/aggbug/51484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-05-29 16:14 <a href="http://www.cppblog.com/bning/archive/2008/05/29/51484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql_com.h</title><link>http://www.cppblog.com/bning/archive/2008/05/23/50896.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Fri, 23 May 2008 11:10:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/05/23/50896.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/50896.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/05/23/50896.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/50896.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/50896.html</trackback:ping><description><![CDATA[到网上找了好多资料都没有mysql_com.h 中的socket错误.后来才发现,没有把winsock2.h引进去.但引入进去的时候,还是有一样的错误.确没发现winsock2.h应要在msyql.h的前面.<br>&nbsp; 以后得记住.这是基础方面的东西.
<img src ="http://www.cppblog.com/bning/aggbug/50896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-05-23 19:10 <a href="http://www.cppblog.com/bning/archive/2008/05/23/50896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>socket [转]</title><link>http://www.cppblog.com/bning/archive/2008/05/13/49726.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Tue, 13 May 2008 07:39:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/05/13/49726.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/49726.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/05/13/49726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/49726.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/49726.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div>下面是一个C++调用windows API实现有通信程序,您可以据此进行修改,封装成类.</div>
<div>&nbsp;</div>
<div>// *******************************************************************</div>
<div>// client.cpp : Defines the entry point for the console application.<br>// author: hnynes</div>
<div>// e-mail: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#110;&#121;&#110;&#101;&#115;&#49;&#48;&#49;&#53;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;"><font color=#c60000>hnynes1015@163.com</font></a></div>
<div>// QQ: 61737489</div>
<div>// MSN: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#110;&#121;&#110;&#101;&#115;&#64;&#109;&#115;&#110;&#46;&#99;&#111;&#109;"><font color=#c60000>hnynes@msn.com</font></a></div>
<div>// *******************************************************************</div>
<div>#include "stdafx.h"<br>#include &lt;winsock2.h&gt;<br>#include &lt;iostream&gt;<br>#define PORT_SERVER 6656</div>
<div><br>int main(int argc, char* argv[])<br>{<br>&nbsp;std::cout &lt;&lt; "Start up tcp client." &lt;&lt; std::endl;<br>&nbsp;<br>&nbsp;WSADATA wsaData;<br>&nbsp;WORD sockVersion = MAKEWORD(2, 0);<br>&nbsp;if (0 != WSAStartup(sockVersion, &amp;wsaData))<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Failed to retrive socket version." <br>&nbsp;&nbsp;&nbsp;&lt;&lt; std::endl;<br>&nbsp;&nbsp;return 0;<br>&nbsp;}<br>&nbsp;<br>&nbsp;SOCKET sock_client;<br>&nbsp;sock_client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);<br>&nbsp;if (INVALID_SOCKET == sock_client)<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Invalid socket." &lt;&lt; std::endl;<br>&nbsp;&nbsp;WSACleanup();<br>&nbsp;&nbsp;return 0;<br>&nbsp;}<br>&nbsp;sockaddr_in addr_sev;<br>&nbsp;addr_sev.sin_family = AF_INET;<br>&nbsp;addr_sev.sin_port = htons(PORT_SERVER);<br>&nbsp;addr_sev.sin_addr.s_addr = inet_addr("127.0.0.1");<br>&nbsp;if (SOCKET_ERROR == connect(sock_client, (sockaddr *)&amp;addr_sev, sizeof(addr_sev)))<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Failed to connect." &lt;&lt; std::endl;<br>&nbsp;&nbsp;WSACleanup();<br>&nbsp;&nbsp;return 0;<br>&nbsp;}</div>
<div>&nbsp;char buf[512];<br>&nbsp;int recv_size = 0;<br>&nbsp;recv_size = recv(sock_client, buf, 512, 0);<br>&nbsp;if (512 &gt; recv_size)<br>&nbsp;{<br>&nbsp;&nbsp;buf[recv_size] = '\0';<br>&nbsp;&nbsp;std::cout &lt;&lt; "receive data is :" &lt;&lt; buf &lt;&lt; std::endl;<br>&nbsp;&nbsp;memset(buf, 0, sizeof(buf));<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "receive data is overflow" &lt;&lt; std::endl;<br>&nbsp;}<br>&nbsp;</div>
<div>&nbsp;closesocket(sock_client);<br>&nbsp;WSACleanup();<br>&nbsp;system("PAUSE");<br>&nbsp;return 0;<br>}</div>
<div>&nbsp;</div>
<div>// *******************************************************************</div>
<div>// server.cpp : Defines the entry point for the console application.<br>//&nbsp;author: hnynes
<div>// e-mail: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#110;&#121;&#110;&#101;&#115;&#49;&#48;&#49;&#53;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;"><font color=#c60000>hnynes1015@163.com</font></a></div>
<div>// QQ: 61737489</div>
<div>// MSN: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#110;&#121;&#110;&#101;&#115;&#64;&#109;&#115;&#110;&#46;&#99;&#111;&#109;"><font color=#c60000>hnynes@msn.com</font></a></div>
<div>// *******************************************************************</div>
</div>
<div>#include "stdafx.h"<br>#include &lt;winsock2.h&gt;<br>#include &lt;iostream&gt;<br>#define PORT_SERVER 6656<br>#define NUM_CLIENTS 10</div>
<div>int main(int argc, char* argv[])<br>{<br>&nbsp;std::cout &lt;&lt; "Start up tcp server." &lt;&lt; std::endl;<br>&nbsp;<br>&nbsp;WSADATA wsaData;<br>&nbsp;WORD sockVersion = MAKEWORD(2, 0);<br>&nbsp;if (0 != WSAStartup(sockVersion, &amp;wsaData))<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Failed to retrive socket version." <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; std::endl;<br>&nbsp;&nbsp;return 0;<br>&nbsp;}&nbsp;</div>
<div>&nbsp;SOCKET sock_sev;<br>&nbsp;sock_sev = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);<br>&nbsp;if (INVALID_SOCKET == sock_sev)<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Invalid socket." &lt;&lt; std::endl;<br>&nbsp;&nbsp;WSACleanup();<br>&nbsp;&nbsp;return 0;<br>&nbsp;}</div>
<div>&nbsp;sockaddr_in addr_sev;<br>&nbsp;addr_sev.sin_family = AF_INET;<br>&nbsp;addr_sev.sin_port = htons(PORT_SERVER);<br>&nbsp;addr_sev.sin_addr.s_addr = INADDR_ANY;<br>&nbsp;if (SOCKET_ERROR == bind(sock_sev, (sockaddr *)&amp;addr_sev, sizeof(addr_sev)))<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Failed to bind." &lt;&lt; std::endl;<br>&nbsp;&nbsp;WSACleanup();<br>&nbsp;&nbsp;return 0;<br>&nbsp;}<br>&nbsp;if (SOCKET_ERROR == listen(sock_sev, NUM_CLIENTS))<br>&nbsp;{<br>&nbsp;&nbsp;std::cout &lt;&lt; "Failed to listen." &lt;&lt; std::endl;<br>&nbsp;&nbsp;WSACleanup();<br>&nbsp;&nbsp;return 0;<br>&nbsp;}<br>&nbsp;</div>
<div>&nbsp;// 多路复用,暂时还未实现.后期会对此给出示例.<br>&nbsp;//fd_set reads;<br>&nbsp;//fd_set writes;<br>&nbsp;//fd_set accepts;<br>&nbsp;//FD_ZERO(&amp;reads);<br>&nbsp;//FD_ZERO(&amp;writes);<br>&nbsp;//FD_ZERO(&amp;accepts);<br>&nbsp;//SOCKET sock_client;<br>&nbsp;sockaddr_in addr_client;<br>&nbsp;int nAddrLen = sizeof(addr_client);<br>&nbsp;while (true)<br>&nbsp;{<br>&nbsp;&nbsp;char tmp[512];<br>&nbsp;&nbsp;sock_client = accept(sock_sev, (sockaddr *)&amp;addr_client, &amp;nAddrLen);<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;if (INVALID_SOCKET == sock_client)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;std::cout &lt;&lt; "Failed to accept." &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp;continue;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;sprintf(tmp, "Your IP is %s\n", inet_ntoa(addr_client.sin_addr));<br>&nbsp;&nbsp;send(sock_client, tmp, strlen(tmp), 0);<br>&nbsp;&nbsp;std::cout &lt;&lt; "Connection from " &lt;&lt; inet_ntoa(addr_client.sin_addr)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; std::endl;</div>
<div>&nbsp;&nbsp;closesocket(sock_client);<br>&nbsp;}<br>&nbsp;<br>&nbsp;return 0;<br>}</div>
<div>&nbsp;</div>
<div>注:本程序使用的是VC6 IDE,编译时请在link中加入对ws2_32.lib库的引用.</div>
<div>这个程序只是一个雏形,也作学习吧.</div>
<img src ="http://www.cppblog.com/bning/aggbug/49726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-05-13 15:39 <a href="http://www.cppblog.com/bning/archive/2008/05/13/49726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在C++中用MYSQL的存储过程的返回多行问题</title><link>http://www.cppblog.com/bning/archive/2008/05/04/48805.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Sun, 04 May 2008 08:58:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/05/04/48805.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/48805.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/05/04/48805.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/48805.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/48805.html</trackback:ping><description><![CDATA[在C++应用程序中，用到存储过程调用mysql数据库，存储过程用到select返回一行信息，但在程序中出现了错误。<br>在网上找了这方面的问题，其实可以用视图来解决的。<br><br><img src ="http://www.cppblog.com/bning/aggbug/48805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-05-04 16:58 <a href="http://www.cppblog.com/bning/archive/2008/05/04/48805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>典型开源3D引擎分类比较</title><link>http://www.cppblog.com/bning/archive/2008/04/29/48420.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Tue, 29 Apr 2008 05:13:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/04/29/48420.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/48420.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/04/29/48420.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/48420.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/48420.html</trackback:ping><description><![CDATA[<p><span>常见的</span><span>3D</span><span>引擎有：</span><span>Unreal,Quake,Lithtech,OGRE,Nebula,Irrlicht,Truevision3D...</span><span>等，其中开源免费的有：</span><span>orge,irrlicht,fly3d, NeoEngine, revolution3d, Nebula2</span><span>，</span><span>Genesis3d</span><span>等。</span><span>OGRE&nbsp;</span><span>在免费、开源的引擎中评价最高，一个原因是作为一个图形渲染引擎，它支持的图形特性最多，所以渲染质量也不错；另一个原因是设计模式的清晰；另外，速度也不错。</span><span>OGRE&nbsp;</span><span>将专注于向一个纯粹的、然而富于协作和扩展性的图形引擎发展，这得益于它的庞大的社群支持，使得很多事情可以通过外挂一些更专业的引擎来实现，物理引擎使用</span><span>&nbsp;ODE&nbsp;</span><span>、</span><span>&nbsp;Tokamak&nbsp;</span><span>、</span><span>&nbsp;NovodeX&nbsp;</span><span>，网络引擎使用</span><span>&nbsp;openTNL&nbsp;</span><span>、</span><span>&nbsp;RakNet&nbsp;</span><span>、</span><span>&nbsp;eNet&nbsp;</span><span>，声音引擎使用</span><span>&nbsp;FMod&nbsp;</span><span>、</span><span>&nbsp;OpenAL&nbsp;</span><span>，以及界面引擎使用</span><span>&nbsp;CEGUI&nbsp;</span><span>。</span></p>
<p><strong>&nbsp;</strong></p>
<p>&nbsp;</p>
<p>
<table cellSpacing=0 cellPadding=0 border=1>
    <tbody>
        <tr>
            <td vAlign=top width=96>
            <p align=center><strong><span>Standard</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=center><strong><span>OGRE</span></strong></p>
            </td>
            <td vAlign=top width=144>
            <p align=center><strong><span>IrrLicht</span></strong></p>
            </td>
            <td vAlign=top width=153>
            <p align=center><strong><span>Truevision3D</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>General</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Type</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span>Only rendering engine</span></p>
            </td>
            <td vAlign=top width=144>
            <p><strong>&nbsp;</strong></p>
            </td>
            <td vAlign=top width=153>
            <p><span>Game engine</span></p>
            <p><span><span>Include <span>TV3DEngine,TV3DMedia,TV3DNet&#8230;&#8230;</span></span></span><strong></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Languages</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span>Written in pure C++, totally object orientated.<strong></strong></span></p>
            </td>
            <td vAlign=top width=144>
            <p><span>Written in pure C++, totally object orientated.<strong></strong></span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>Written in C++ and VB6 with DirectX8.1</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>License</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span>LGPL</span></p>
            </td>
            <td vAlign=top width=144>
            <p><span>zlib/libpng License(totally free)</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Free TV3DSDK</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Registered Developer License</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>group or site licenses</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Develop platforms</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>C++</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>.NET </span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>C++</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>.NET language binding</span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>VB/VC++/DELPHI/</span></p>
            <p><span>C#/vb.net</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Platforms</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Windows</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Linux</span></strong><strong></strong></p>
            <p align=left><strong>&nbsp;</strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>MacOS</span></strong><strong></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>3D API</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Direct3D</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>OpenGL</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Other</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>The Irrlicht Engine <span>software renderer</span>. </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>The Apfelbaum Software Renderer<strong></strong></span></p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Architecture </span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Extensibility</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Extensible example framework</span><span> </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Flexible plugin architecture allows engine to be extended without recompilation</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Use some other professional engines to achieve other features</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><strong>&nbsp;</strong></p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Scripting</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p align=left><strong>&nbsp;</strong></p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Materials &amp; Textures</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Materials</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Powerful material declaration language</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Multiple material</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Material LOD</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Multi-texture and multi-pass blending</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Projective texturing</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Textures can be provided and updated in real-time by plugins</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Provide common built in materials<strong> </strong>based on fixed function pipeline or programmable pipeline</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>add new materials to Irrlicht at runtime, without the need of modifying/recompiling the engine</span></p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Textures and Mapping</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span>自动产生</span><span>MipMap</span><span>；</span></p>
            <p>&nbsp;</p>
            <p><span>自动调整纹理大小以满足硬件需求。</span></p>
            <p>&nbsp;</p>
            <p><span>支持可程序控制的纹理坐标生成和转换。</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Bump mapping </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Parallax mapping</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Light maps </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Sphere mapping</span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>DOT3 Bump mapping<strong></strong></span></p>
            <p>&nbsp;</p>
            <p><span>没有提供多层纹理和混合模式</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>Shaders</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Supports vertex and fragment programs, both written in assembler, and in Cg, DirectX9 HLSL, or GLSL </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Support many commonly bound constant parameters like worldview matrices, light state information, object space eye position etc</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Pixel and Vertex Shaders 1.1 to 3.0 </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>ARB Fragment and Vertex Programs </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>HLSL </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>GLSL</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Hardware Vertex Shaders</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>HLSL</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Scene Management</span></strong><strong></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>General</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Highly customizable, flexible scene management, not tied to any single scene type. </span></p>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc </span></p>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Scene querying</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Using a hierarchical scene graph, can mix indoor and outdoor scene seamless together</span><span> </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Extensible</span><strong><span> </span></strong><span>hierarchical scene management</span></p>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=153>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>BSP Support</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span>BSP&nbsp;</span><span>场景的天空穹、粒子特效、高级材质属性，乃至</span><span>&nbsp;BSP&nbsp;</span><span>的空间分割规则都会被正确识别、自动实现</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>对</span><span>&nbsp;BSP&nbsp;</span><span>的特性支持比较贫乏</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span>对</span><span>&nbsp;BSP&nbsp;</span><span>的读取存在</span><span>&nbsp;BUG</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Other</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p align=left>&nbsp;</p>
            </td>
            <td vAlign=top width=153>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Special effects</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Particle System</span></strong></p>
            <p align=left><strong>&nbsp;</strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>easily extensible emitters, affectors and renderers</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>can be defined in text scripts for adjusting in real-time</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>particle pooling</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Customizeable<strong> </strong>Particle systems for snow, smoke, fire, ... </span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>Atmospheric effects like fog, cloud, sky (box and sphere), stars.</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Light &amp; Shadow</span></strong></p>
            <p align=left><strong>&nbsp;</strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span>当前支持三种阴影：调整纹理阴影</span><span>,</span><span>调整模版阴影</span><span>,</span><span>附加模板阴影。不支持软阴影</span></p>
            <p align=left><span>Multiple shadow rendering techniques,</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Dynamic<strong> </strong>lights </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Dynamic shadows<strong> </strong>using the stencil buffer </span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Optimized dynamic stencil shadows </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>DirectX Hardware Lighting</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p align=left><strong><span>Other</span></strong><strong></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Support for skyboxes, skyplanes and skydomes </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Billboarding for sprite graphics </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Transparent objects automatically managed </span></p>
            <p align=left>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Realistic water<strong> </strong>surfaces </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Billboards </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Transparent objects </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Skyboxes</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Fog </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Texture animation</span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>Billboard</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Character Animation</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=168>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Skeletal animation</span></p>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>blending of multiple animations</span></p>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>variable bone weight skinning</span></p>
            <p><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>hardware-accelerated skinning</span></p>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Morph target animation:<strong></strong></span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Skeletal animation</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Skeleton based, Key frame based, morph based animations</span><span> </span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>Animations that can be enhanced by bone attaching or custom bone rotations.</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Supported Formats</span></strong><strong></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>textures file formats</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>PNG, JPEG, TGA, BMP or DDS</span></p>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>1D textures, volumetric textures, cubemaps and compressed textures (DXT/S3TC)</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>PSD,JPG,PNG,TGA,BMP,PCX&nbsp;</span></p>
            </td>
            <td vAlign=top width=153>
            <p align=left>&nbsp;</p>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>mesh file formats</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span>Milkshape3D, 3D Studio Max, Maya, Blender and Wings3D</span></p>
            </td>
            <td vAlign=top width=144>
            <p align=left><span><span>&#183;<span>&nbsp;&nbsp; </span></span></span><span>3DS,OBJ,CSM,DAE,DMF,OCT,X,MS3D,MY3D,LMTS,BSP,MD2</span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>3DS, X, MDL, MD2, MD3</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Document</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=168>
            <p><span>Great number of users and well documented.</span></p>
            </td>
            <td vAlign=top width=144>
            <p><span>well documented API<strong> </strong>with lots of examples and tutorials.</span></p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Other</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>GUI</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>2D Drawing</span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=144>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p><strong><span>XML </span></strong></p>
            </td>
            <td vAlign=top width=168>
            <p><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            <p><span>XML Converter: convert efficient runtime binary formats to/from XML for interchange or editing</span></p>
            </td>
            <td vAlign=top width=144>
            <p><span><span>&#252;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Support</span></p>
            <p><span>快速的</span><span>XML</span><span>分析器</span></p>
            </td>
            <td vAlign=top width=153>
            <p>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=561 colSpan=4>
            <p align=center><strong><span>Web Site</span></strong></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=96>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=168>
            <p><span>http://www.ogre3d.org</span></p>
            </td>
            <td vAlign=top width=144>
            <p><span>http://irrlicht.sourceforge.net</span></p>
            </td>
            <td vAlign=top width=153>
            <p><span>http://www.truevision3d.com</span></p>
            </td>
        </tr>
    </tbody>
</table>
<br>来自:http://www.cnblogs.com/cyberchen-net</p>
<img src ="http://www.cppblog.com/bning/aggbug/48420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-04-29 13:13 <a href="http://www.cppblog.com/bning/archive/2008/04/29/48420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OGRE + CEGUI ：强大的用户界面(http://www.yanchen.com/article.asp?id=69)</title><link>http://www.cppblog.com/bning/archive/2008/04/29/48416.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Tue, 29 Apr 2008 05:02:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/04/29/48416.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/48416.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/04/29/48416.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/48416.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/48416.html</trackback:ping><description><![CDATA[<p><a href="http://blog.csdn.net/listream1/archive/2007/04/03/1550375.aspx"><u><font color=#810081></font></u></a>&nbsp;</p>
CEGUI ，全称 "Crazy Eddie's GUI System" ，是一个专门的用户界面库，开源并且免费，它支持 DirectX8 、 DirectX9 ，除了可以作为 OGRE 的界面外挂，还支持另一个免费开源的 3D 引擎 Irrlicht 。由于它功能的相对强大和灵活， OGRE 的开发团队一直在推荐 OGRE 用户使用这个 CEGUI 来开发用户界面，逐渐抛弃 OGRE 本身过于简陋的 GUI 插件。尤其是在行将到来的新版本 OGRE 1.5 的声明中特别强调了这一点，尽管这个版本仍然暂时保留内置 GUI 系统，但 OGRE 1.5 将会是最后一个保留内置 GUI 的版本。 OGRE 看来似乎将专注于向一个纯粹的、然而富于协作和扩展性的图形引擎发展，这应该得益于它的庞大的社群支持，使得很多事情可以通过外挂一些更专业的引擎来实现，物理引擎使用 ODE 、 Tokamak 、 NovodeX ，网络引擎使用 openTNL 、 RakNet 、 eNet ，声音引擎使用 FMod 、 OpenAL ，以及这个界面引擎，使用 CEGUI 。外挂现成模块的好处就是可以专注于一个方面，开发一个五脏俱全的游戏引擎并不是个容易的事情，市面上最负盛名的几个商业引擎的开发， Unreal 、Renderware 、 Lithtech ，往往要耗费数百人年，并且在这些商业引擎中同样会使用外挂的商业库，在这个年代，没有人可以从头创建一切。<br><br>CEGUI 基于 Unicode ，所以它支持中文字体的显示， 但是对中文字符的输入现在尚未解决，因为不断有来自中国的 OGRE + CEGUI 用户的质询和申请，对中文输入的支持可能已在考虑中。<br><br>CEGUI 的官方主页在这里：<br><a title=http://crayzedsgui.sourceforge.net/ href="http://crayzedsgui.sourceforge.net/" target=_blank><u><font color=#0000ff>Crazy Eddie's GUI System</font></u></a><br><br><br>1. CEGUI 的 CVS 下载<br>使用 WinCVS ，使用方法参考 <a title=http://www.yanchen.com/blogview.asp?logID=31&amp;cateID=3 href="http://www.yanchen.com/blogview.asp?logID=31&amp;cateID=3" target=_blank><u><font color=#0000ff>OGRE 一起学 (1) —— 获取 OGRE</font></u></a> 。<br><br>(1) 在 WinCVS 主界面左栏选中 "cvshome" ；<br><br>(2) 从主菜单选择 [Admin]-[Command Line...] ，弹出 "Command line settings" 面板，在 "Settings" 选项卡的上部输入框里，输入如下指令进行登陆：<br><strong>cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crayzedsgui login</strong><br>当弹出对话框问讯密码时直接按回车。<br><br>(3) 成功登陆以后， WinCVS 主界面的下部信息栏会显示这样一条信息：<br><br>***** CVS exited normally with code 0 *****<br><br>code 0 就表示登陆成功，如果不成功，显示为 code 1 。<br><br>(4) 登陆成功以后，再次打开 "Command line settings" 面板，输入并运行如下指令：<br><br><strong>cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crayzedsgui co cegui_mk2</strong><br><br>CVS 源代码就开始下载了。耐心等它下载完毕。<br><br>(5) 这时候在 WinCVS 主界面左栏的 &#8220;cvshome&#8221; 下边，多了一个 "cegui_mk2" 的文件夹。你可以到硬盘的 F:\cvshome\cegui_mk2\ 看一下，所有的源代码都在那里了。<br><br><br>2. CEGUI 本体 lib 和 dll 的编译：<br>最好使用 VS.Net 2003 的 VC7.1 来编译，它对 OGRE 和 CEGUI 的支持都很好。 VC7.0 和 VC7.1 都可以。<br><br>(1) 首先要下载编译 CEGUI 所需的依赖项，包括头文件和库，下载页在这里：<br><a title=http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&amp;d_op=viewdownload&amp;cid=6 href="http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&amp;d_op=viewdownload&amp;cid=6" target=_blank><u><font color=#0000ff>http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&amp;d_op=viewdownload&amp;cid=6</font></u></a><br>首先下载 <strong>CEGUI Mk-2 Win32 Dependencies: Common Files </strong>，这些是公用的头文件；<br>其次根据你的编译器版本选择对应的库，例如我使用 VC.Net 2003 ，就选择下载 <strong>CEGUI Mk-2 Win32 Dependencies: Libs for MSVC 7.1</strong> 。<br>下载以后分别解压缩，把头文件 cegui_mk2-deps-common\dependencies\include 和库文件cegui_mk2-deps-vc7.1\dependencies\lib 这两个目录全部复制到 cvshome\cegui_mk2\dependencies 目录下。<br><br>(2) 现在设置工作环境。打开 VS.NET 或 VS.NET 2003 ，在主菜单中选择 [工具]-[选项...] ，打开 "选项" 面板，在左边目录选择 [项目]-[VC++ 目录] ，在右栏的 Include 和 Lib 目录下添加以下路径：<br><br>包含文件：<br>X:\cvshome\cegui_mk2\dependencies\include <br>库文件：<br>X:\cvshome\cegui_mk2\dependencies\lib<br>注意把这几条目录放在目录列表的最上面。<br><br>(3) OK. 现在打开 cvshome\cegui_mk2\makefiles\win32\VC++7.1\CEGUI.sln ，从主菜单中选择 [生成]-[批生成...] ，打开 "批生成" 面板，点击右边的 [全选] 按钮，然后点击 [重新生成] 按钮开始生成，静待生成结束。<br><br>编译生成的 *.dll 文件在 cvshome\cegui_mk2\bin 目录下， *.lib 文件在 cvshome\cegui_mk2\lib 目录下。<br><br>编译成功以后，为了编译以后的 CEGUI 相关项目，我们要在 VS.Net 的工作环境中添加 CEGUI 的 include 和 lib 目录：<br><br>包含文件：<br>X:\cvshome\cegui_mk2\include <br>库文件：<br>X:\cvshome\cegui_mk2\lib<br><br><br>3. 编译 CEGUI 示例<br><br>(1) 首先来这里下载几个 CEGUI 示例：<br><a title=http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&amp;d_op=viewdownload&amp;cid=5 href="http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&amp;d_op=viewdownload&amp;cid=5" target=_blank><u><font color=#0000ff>http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&amp;d_op=viewdownload&amp;cid=5</font></u></a><br>其中的 CEGUI under Ogre - Demo 4 和 CEGUI under Ogre - Demo 7 是带有源文件的，我们挑选 CEGUI under Ogre - Demo 4 来尝试编译。<br><br>(2) Demo 下载以后解压缩，文件目录不要乱放，要放到 cvshome 目录下。<br>然后双击 cvshome\ogre_gui_demo4\CEGUIOgre_TestDriver1.sln 打开解决方案。<br>由于 CEGUI 作者的疏忽， Release 的项目设置里有几个多余的 lua.lib ，会导致编译时因找不到这些库而失败，所以我们需要删除这几个库。打开 CEGUIOgre_Demo4 的项目属性，删除 Release 配置属性的 [链接器]-[输入]-[附加依赖项] 条目中的 <strong>liblua.lib liblualib.lib libluabind.lib</strong> 这几个库。<br><br>(3) 然后生成。<br>生成的 *.exe 文件在 cvshome\ogre_gui_demo4 的 Release 和 Debug 目录下。但是你现在就打开运行肯定会失败。<br><br>失败的原因首先是因为这个 Demo 使用的是最新版本的 OGRE 的头文件和库来编译，但是 Release 和 Debug 目录下放的是老版本的 *.dll ，所以你需要把 cvshome\ogrenew\Samples\Common\bin 的 Release 和 Debug 目录下的所有 *.dll 都复制到 cvshome\ogre_gui_demo4 的 Release 和 Debug 目录下，用你的最新版本覆盖旧版本，这是一个；<br><br>然后， CEGUI 的依赖项中需要一个 *.dll ，在 cvshome\cegui_mk2\dependencies\lib 中有两个 *.dll ，把 xerces-c_2_5_0.dll 复制到 cvshome\ogre_gui_demo4\Release ，把 xerces-c_2_5_0D.dll 复制到 cvshome\ogre_gui_demo4\Debug 。<br><br>还有 CEGUI 本体的 *.dll ，在 cvshome\cegui_mk2\bin 目录下，也要全部复制过来。 *.dll 文件名带 _d 的是 Debug 版本。<br><br>OK. 现在示例可以运行了。<br><br>
<div style="WIDTH: 100%"><a href="http://www.yanchen.com/attachments/month_0410/olds_Demo7_shot.jpg" target=_blank></a></div>
<br><br><br>作为对 CEGUI 的一个应用实例，你可以下载下面这个 OGRE 粒子编辑器来体验一下：<br><br><a title=http://extras.spannerworxonline.co.uk/ParticleEditor/ParticleEditor_AlphaDemo.zip href="http://extras.spannerworxonline.co.uk/ParticleEditor/ParticleEditor_AlphaDemo.zip" target=_blank><u><font color=#0000ff>ParticleEditor_AlphaDemo</font></u></a><br><br><br>
<div style="WIDTH: 100%"><a href="http://www.yanchen.com/attachments/month_0410/2yr6_screenshot_ringoffire.jpg" target=_blank></a></div>
<img src ="http://www.cppblog.com/bning/aggbug/48416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-04-29 13:02 <a href="http://www.cppblog.com/bning/archive/2008/04/29/48416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:C/C++头文件一览 </title><link>http://www.cppblog.com/bning/archive/2008/04/28/48357.html</link><dc:creator>碧宁</dc:creator><author>碧宁</author><pubDate>Mon, 28 Apr 2008 08:54:00 GMT</pubDate><guid>http://www.cppblog.com/bning/archive/2008/04/28/48357.html</guid><wfw:comment>http://www.cppblog.com/bning/comments/48357.html</wfw:comment><comments>http://www.cppblog.com/bning/archive/2008/04/28/48357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/bning/comments/commentRss/48357.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/bning/services/trackbacks/48357.html</trackback:ping><description><![CDATA[<font size=2>C/C++头文件一览 <br>C、传统 C++<br><br>#include &lt;assert.h&gt;　　　　//设定插入点<br>#include &lt;ctype.h&gt;　　　　 //字符处理<br>#include &lt;errno.h&gt;　　　　 //定义错误码<br>#include &lt;float.h&gt;　　　　 //浮点数处理<br>#include &lt;fstream.h&gt;　　　 //文件输入／输出<br>#include &lt;iomanip.h&gt;　　　 //参数化输入／输出<br>#include &lt;iostream.h&gt;　　　//数据流输入／输出<br>#include &lt;limits.h&gt;　　　　//定义各种数据类型最值常量<br>#include &lt;locale.h&gt;　　　　//定义本地化函数<br>#include &lt;math.h&gt;　　　　　//定义数学函数<br>#include &lt;stdio.h&gt;　　　　 //定义输入／输出函数<br>#include &lt;stdlib.h&gt;　　　　//定义杂项函数及内存分配函数<br>#include &lt;string.h&gt;　　　　//字符串处理<br>#include &lt;strstrea.h&gt;　　　//基于数组的输入／输出<br>#include &lt;time.h&gt;　　　　　//定义关于时间的函数<br>#include &lt;wchar.h&gt;　　　　 //宽字符处理及输入／输出<br>#include &lt;wctype.h&gt;　　　　//宽字符分类<br><br>//////////////////////////////////////////////////////////////////////////<br><br>标准 C++　（同上的不再注释）<br><br>#include &lt;algorithm&gt;　　　 //STL 通用算法<br>#include &lt;bitset&gt;　　　　　//STL 位集容器<br>#include &lt;cctype&gt;<br>#include &lt;cerrno&gt;<br>#include &lt;clocale&gt;<br>#include &lt;cmath&gt;<br>#include &lt;complex&gt;　　　　 //复数类<br>#include &lt;cstdio&gt;<br>#include &lt;cstdlib&gt;<br>#include &lt;cstring&gt;<br>#include &lt;ctime&gt;<br>#include &lt;deque&gt;　　　　　 //STL 双端队列容器<br>#include &lt;exception&gt;　　　 //异常处理类<br>#include &lt;fstream&gt;<br>#include &lt;functional&gt;　　　//STL 定义运算函数（代替运算符）<br>#include &lt;limits&gt;<br>#include &lt;list&gt;　　　　　　//STL 线性列表容器<br>#include &lt;map&gt;　　　　　　 //STL 映射容器<br>#include &lt;iomanip&gt;<br>#include &lt;ios&gt;　　　　　　 //基本输入／输出支持<br>#include &lt;iosfwd&gt;　　　　　//输入／输出系统使用的前置声明<br>#include &lt;iostream&gt;<br>#include &lt;istream&gt;　　　　 //基本输入流<br>#include &lt;ostream&gt;　　　　 //基本输出流<br>#include &lt;queue&gt;　　　　　 //STL 队列容器<br>#include &lt;set&gt;　　　　　　 //STL 集合容器<br>#include &lt;sstream&gt;　　　　 //基于字符串的流<br>#include &lt;stack&gt;　　　　　 //STL 堆栈容器　　　　<br>#include &lt;stdexcept&gt;　　　 //标准异常类<br>#include &lt;streambuf&gt;　　　 //底层输入／输出支持<br>#include &lt;string&gt;　　　　　//字符串类<br>#include &lt;utility&gt;　　　　 //STL 通用模板类<br>#include &lt;vector&gt;　　　　　//STL 动态数组容器<br>#include &lt;cwchar&gt;<br>#include &lt;cwctype&gt;<br><br>using namespace std;<br><br>//////////////////////////////////////////////////////////////////////////<br><br>C99 增加<br><br>#include &lt;complex.h&gt;　　 //复数处理<br>#include &lt;fenv.h&gt;　　　　//浮点环境<br>#include &lt;inttypes.h&gt;　　//整数格式转换<br>#include &lt;stdbool.h&gt;　　 //布尔环境<br>#include &lt;stdint.h&gt;　　　//整型环境<br>#include &lt;tgmath.h&gt;　　　//通用类型数学宏<br><br><br>本文转自CSDN，作者WindsonZhL(风之子)</font><br>
<img src ="http://www.cppblog.com/bning/aggbug/48357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/bning/" target="_blank">碧宁</a> 2008-04-28 16:54 <a href="http://www.cppblog.com/bning/archive/2008/04/28/48357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>