﻿<?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++博客-天衣有缝-随笔分类-program</title><link>http://www.cppblog.com/jinglexy/category/4079.html</link><description>冠盖满京华，斯人独憔悴～</description><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 13:10:21 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 13:10:21 GMT</pubDate><ttl>60</ttl><item><title>一款好用的pim工具：essentialpim（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2008/05/07/49132.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Wed, 07 May 2008 07:50:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2008/05/07/49132.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/49132.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2008/05/07/49132.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/49132.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/49132.html</trackback:ping><description><![CDATA[ms-project2002实在是太大了，一点也不轻量级。<br>一直都在找一款好用的pim(personal info manager)/gtd(get things done)工具，<br>测试了10几个之后，锁定到essentialpim-2.50了。<br>（个人任务最好用最强大的是am-notebook了，网上有人号称自己pj了，<br>下载下来一看，只是从pro版切换到lite版，反正我是没）<br>发个图看看吧，呵呵：<br>要是有更好用的pim/gtd软件，欢迎大家提出<br><br><img alt=""  src="http://www.cppblog.com/images/cppblog_com/jinglexy/4600/o_essentialpim.PNG" height="770" width="990"><br><img src ="http://www.cppblog.com/jinglexy/aggbug/49132.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2008-05-07 15:50 <a href="http://www.cppblog.com/jinglexy/archive/2008/05/07/49132.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>how to read file in kernel(原创)</title><link>http://www.cppblog.com/jinglexy/archive/2008/05/04/48822.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Sun, 04 May 2008 13:21:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2008/05/04/48822.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/48822.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2008/05/04/48822.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/48822.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/48822.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: simple example of vfs call&nbsp;&nbsp;<a href='http://www.cppblog.com/jinglexy/archive/2008/05/04/48822.html'>阅读全文</a><img src ="http://www.cppblog.com/jinglexy/aggbug/48822.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2008-05-04 21:21 <a href="http://www.cppblog.com/jinglexy/archive/2008/05/04/48822.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jinix内核项目：http://jinix.sourceforge.net（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2007/07/24/28723.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Tue, 24 Jul 2007 12:52:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2007/07/24/28723.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/28723.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2007/07/24/28723.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/28723.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/28723.html</trackback:ping><description><![CDATA[上周四在sf申请的project，周一晚上就批下来了。现在亢哧亢哧的做着，结果究竟如何是个不知数，闲着找点事做吧，免得自己慢慢失去了动力。花了一晚上看sf管理站点方法，顺便做了个简单web，挺丑的。试了好几款sftp工具，可能是内网firewall原因，只有ws_ftp可以联上。<br><br>大致介绍一下：linux环境，gcc编译器，c++语言，混合式内核（现在还只是单内核），目前目标平台i386/arm。刚刚完成了MM部分，都是移的linux算法（buddy，slab等），整个MM就一个类，彻底荤菜，呵呵。如果找些人讨论讨论c++倒是好事（当然不是那种无里头的，得先看书），但是我c++超菜鸟，又不善组织，希望冥冥中得遇大老指点一二。<br><br>不知道sf大家访问有没有问题，贴一些主要内容：<br>
版本历史：<br>
<font color="red">3.1.1版：代号：</font><br>
<font color="#3366ff">总体目标/功能：xx</font><br><br>
<font color="red">3.0.0版：代号：</font><br>
<font color="#3366ff">总体目标/功能：（发布稳定系统）</font><br><br>
<font color="red">2.1.1版：代号：</font><br>
<font color="#3366ff">总体目标/功能：单元测试，bug修复</font><br><br>
<font color="red">2.0.0版：代号：</font><br>
<font color="#3366ff">总体目标/功能：（完成系统核心，封锁版本）</font><br><br>
<font color="red">1.7.1版：代号：</font><br>
<font color="#3366ff">总体目标/功能：完成计划的第8章节</font><br><br>
<font color="red">1.6.1版：代号：xx（</font><font color="green">2008-02-05 ~ 2008-05-05</font><font color="red">）</font><br>
<font color="#3366ff">总体目标/功能：完成计划的第7章节（tcp/ip）</font><br><br>
<font color="red">1.5.1版：代号：xx（</font><font color="green">2008-01-01 ~ 2008-02-04</font><font color="red">）</font><br>
<font color="#3366ff">总体目标/功能：完成计划的第6章节（文件系统）</font><br><br>
<font color="red">1.4.1版：代号：xx（</font><font color="green">2007-10-25 ~ 2007-12-24</font><font color="red">）</font><br>
<font color="#3366ff">总体目标/功能：完成计划的第5章节（设备驱动）</font><br><br>
<font color="red">1.3.1版：代号：xx（</font><font color="green">2007-10-10 ~ 2007-10-24</font><font color="red">）</font><br>
<font color="#3366ff">总体目标/功能：单元测试，bug修复</font><br><br>
<font color="red">1.2.1版：代号：一帘忧梦（</font><font color="green">2007-07-01 ~ 2007-09-24</font><font color="red">正在进行中）</font><br>
<font color="#3366ff">总体目标/功能：完成计划的第1，2，3，4章节</font><br>
(4).jinix-1.2.1.2007-07-19_09.18.22.tar.bz2<br>
&nbsp;&nbsp;&nbsp;&nbsp;完成slab算法调研及编写<br>
&nbsp;&nbsp;&nbsp;&nbsp;内核初始化流程完善，及相关部分接口/框架<br><br>
(3).jinix-1.2.1.2007-07-15_16.36.41.tar<br>
&nbsp;&nbsp;&nbsp;&nbsp;textio类重载&lt;&lt;运算符以支持cout &lt;&lt; __func__;<br>
&nbsp;&nbsp;&nbsp;&nbsp;内存管理初始化及buddy算法完成, 内核对象完善（启动流程）<br><br>
(2).jinix-1.2.1.2007-07-12_18.49.44.tar.bz2<br>
&nbsp;&nbsp;&nbsp;&nbsp;内核对象编写，boot.S-&gt;head.S，初始化汇编文件中全局变量移入bootdata.cpp中<br>
&nbsp;&nbsp;&nbsp;&nbsp;内存管理类接口编写，以及使用到的相关数据结构从linux中移植<br><br>
(1).jinix-1.2.1.2007-07-03_21.07.57.tar.bz2<br>
&nbsp;&nbsp;&nbsp;&nbsp;某些初始化过的全局变量被编译到bss节去了，被boot.S文件清空，<br>
&nbsp;&nbsp;&nbsp;&nbsp;调整到新Makefile, 和unixlite相似<br>
&nbsp;&nbsp;&nbsp;&nbsp;使用__attribute__((section(...强制链接到.data<br><br>
(0).jinix-1.2.1.2007-06-30_17.50.21.tar.bz2<br>
&nbsp;&nbsp;&nbsp;&nbsp;控制台显示部分调试完成, textio和ostream调试完成<br><br><br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="572">1.系统初始化</td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">内核启动</td>
            <td valign="top" width="190">完成</td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">i86硬件初始化（分页）</td>
            <td valign="top" width="190">完成</td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">时钟初始化</td>
            <td valign="top" width="190">完成</td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">中断及异常初始化</td>
            <td valign="top" width="190">完成</td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">reboot/halt/poweroff</td>
            <td valign="top" width="190">完成</td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">acpi/apm</td>
            <td valign="top" width="190"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="52">&nbsp;</td>
            <td valign="top" width="330">fpu/mmx/sse/sse2</td>
            <td valign="top" width="190"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">2.支撑型数据结构和算法</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">hash</td>
            <td valign="top" width="189">完成</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">队列</td>
            <td valign="top" width="189">完成</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">链表</td>
            <td valign="top" width="189">完成</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">fifo/lifo</td>
            <td valign="top" width="189">完成</td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">3.内存管理子系统</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">buddy算法</td>
            <td valign="top" width="189">完成</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">slab分配器</td>
            <td valign="top" width="189">完成</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">页异常处理</td>
            <td valign="top" width="189">完成</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">cow（copy on write）</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">demand paging</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">守护线程（swap，页面冲洗）</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">4.进程及任务调度</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">任务切换</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">fork()</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">调度算法</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">内核线程</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">idle线程</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">用户线程</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">同步机制：内核锁和原子操作</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">5.设备驱动</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">中断机制</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">驱动框架及对外接口考虑</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">字符设备驱动框架</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">块设备驱动框架</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">网络设备驱动框架</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">控制台驱动（显卡，键盘，鼠标）</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">dma驱动</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">pci驱动</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">8029/8139, ne2000网卡驱动</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">usb驱动</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">6.文件系统</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">proc</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">ramdisk</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">ext2</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">ext3</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">vfat</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">可执行文件elf加载</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">动态链接库和内核模块</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">7.TCP/IP网络模块</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">数据链路层（Layer 2）</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">IP层（Layer 3）</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">icmp, arp, ip, 路由协议</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">tcp, udp</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">socket接口</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">8.进程间通信IPC</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">共享内存</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">信号量</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">消息队列</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">9.posix支持及其他</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">susv3调研</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">lsb调研</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">posix兼容及测试</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">linux-abi兼容</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">shell及常用application</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">arm体系架构调研</td>
            <td valign="top" width="189"><strong><em>未完成</em></strong></td>
        </tr>
    </tbody>
</table>
<br>
<table class="thin" border="0" cellpadding="0" cellspacing="1">
    <tbody>
        <tr>
            <td colspan="3" align="center" valign="top" width="568">10.保留</td>
        </tr>
        <tr>
            <td valign="top" width="55">&nbsp;</td>
            <td valign="top" width="324">&nbsp;</td>
            <td valign="top" width="189">&nbsp;</td>
        </tr>
    </tbody>
</table>
<br><img src ="http://www.cppblog.com/jinglexy/aggbug/28723.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2007-07-24 20:52 <a href="http://www.cppblog.com/jinglexy/archive/2007/07/24/28723.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>流程图绘制软件dia介绍（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2007/07/17/28186.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Tue, 17 Jul 2007 05:03:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2007/07/17/28186.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/28186.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2007/07/17/28186.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/28186.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/28186.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span lang="EN-US">Dia</span><span style="font-family: 宋体;">是一个用于绘制各类图表的工具软件，它从</span><span lang="EN-US">Windows Visio</span><span style="font-family: 宋体;">中借鉴了不少特性。对于各类流程图，网络布局，</span><span lang="EN-US">UML</span><span style="font-family: 宋体;">图等，表现非常良好。以前使用的如</span><span lang="EN-US">Ration Rose</span><span style="font-family: 宋体;">，</span><span lang="EN-US">Windows Visio</span><span style="font-family: 宋体;">，</span><span lang="EN-US">SmartDraw</span><span style="font-family: 宋体;">，</span><span lang="EN-US">DD</span><span style="font-family: 宋体;">等，一直都不顺手，用了一段时间</span><span lang="EN-US">dia</span><span style="font-family: 宋体;">后觉得很不错。这是个跨平台开源的软件，在</span><span lang="EN-US">Win/Linux</span><span style="font-family: 宋体;">上都可以使用。最新的版本是</span><span lang="EN-US">0.96.1</span><span style="font-family: 宋体;">。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">可以在</span><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><a href="http://www.gnome.org/projects/dia/">http://www.gnome.org/projects/dia</a></span><span style="font-size: 12pt; font-family: 宋体;">上找到它的下载和<span lang="EN-US">screenshot</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;">这个软件基本上不需要学习，使用界面非常简单。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">下面是示例图：</span></p>
<img alt="" src="http://www.cppblog.com/images/cppblog_com/jinglexy/4600/o_dia.PNG">
<p class="MsoNormal"><span lang="EN-US"><br></span></p>
<p class="MsoNormal"><span lang="EN-US">Dia</span><span style="font-family: 宋体;">对各类图形的支持是插件形式提供，很容易扩展。如果支持图形间超级链接就更好了。不过程序发生异常的情况较多，最严重的是有时候异常了原来的图形文件打不开。等到</span><span lang="EN-US">1.x</span><span style="font-family: 宋体;">版本出来的时候可能会好些吧。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;"><br></span></p><img src ="http://www.cppblog.com/jinglexy/aggbug/28186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2007-07-17 13:03 <a href="http://www.cppblog.com/jinglexy/archive/2007/07/17/28186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个调试工具编写的发现（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2007/05/11/23909.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Fri, 11 May 2007 09:02:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2007/05/11/23909.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/23909.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2007/05/11/23909.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/23909.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/23909.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 没有什么意义，只是记录而已......&nbsp;&nbsp;<a href='http://www.cppblog.com/jinglexy/archive/2007/05/11/23909.html'>阅读全文</a><img src ="http://www.cppblog.com/jinglexy/aggbug/23909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2007-05-11 17:02 <a href="http://www.cppblog.com/jinglexy/archive/2007/05/11/23909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在用户程序中使用linux内核list（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2007/04/23/22630.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Mon, 23 Apr 2007 04:14:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2007/04/23/22630.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/22630.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2007/04/23/22630.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/22630.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/22630.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在我们日常程序中，常碰到写链表的情况。对于c＋＋程序，stl提供了list和vector两个模板，使用起来很方便。但是很多环境下，我们只能使用c，大多数人都是自己封装相关接口，花费了不必要的时间。linux内核提供了基于面向对象思想的链表：include/linux/list.h。通过简单的修改就可以用到我们的用户程序中去。&nbsp;&nbsp;<a href='http://www.cppblog.com/jinglexy/archive/2007/04/23/22630.html'>阅读全文</a><img src ="http://www.cppblog.com/jinglexy/aggbug/22630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2007-04-23 12:14 <a href="http://www.cppblog.com/jinglexy/archive/2007/04/23/22630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>gcc, as, ld的一些笔记（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2007/04/19/22298.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Thu, 19 Apr 2007 05:34:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2007/04/19/22298.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/22298.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2007/04/19/22298.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/22298.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/22298.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.本文不是教程，只是描述c语言（gcc环境），编译器，连接器，加载器，at&t汇编，ia32一些相关知识和笔记，很多需要深入的地方需要大家寻找相关的资料学习。如果发现错误，请留言或通知我jinglexy at yahoo dot com dot cn，这个是我的msn。打字不易，请转载时保留作者：http://www.cppblog.com/jinglexy&nbsp;&nbsp;<a href='http://www.cppblog.com/jinglexy/archive/2007/04/19/22298.html'>阅读全文</a><img src ="http://www.cppblog.com/jinglexy/aggbug/22298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2007-04-19 13:34 <a href="http://www.cppblog.com/jinglexy/archive/2007/04/19/22298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>fpu, mmx及sse的一些 介绍（原创）</title><link>http://www.cppblog.com/jinglexy/archive/2007/04/18/22218.html</link><dc:creator>天衣有缝</dc:creator><author>天衣有缝</author><pubDate>Wed, 18 Apr 2007 07:57:00 GMT</pubDate><guid>http://www.cppblog.com/jinglexy/archive/2007/04/18/22218.html</guid><wfw:comment>http://www.cppblog.com/jinglexy/comments/22218.html</wfw:comment><comments>http://www.cppblog.com/jinglexy/archive/2007/04/18/22218.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/jinglexy/comments/commentRss/22218.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jinglexy/services/trackbacks/22218.html</trackback:ping><description><![CDATA[为什么要需要FPU和MMX/SSE？<br>提供了SIMD环境（single instruction multi data），即单指令多数据。<br>内嵌浮点运算单元，64及128位寄存器等。甚至sin/cos等数学函数也囊括其中，<br>著名的xvid项目就是使用gcc编译后使用MMX/SSE优化汇编的典型案例。<br><br>转载请注明原创：http://www.cppblog.com/jinglexy<br>msn and mail: jinglexy at yahoo dot com dot cn 上海体育馆2007.4.18<br><br>FPU: 8个80位浮点寄存器（数据），16位状态寄存器，16位控制寄存器，16为标识寄存器。<br>&nbsp;&nbsp;&nbsp;&nbsp; 使用FPU指令对这些寄存器进行操作，这些寄存器构成一个循环栈，st7栈底，st0栈顶，<br>&nbsp;&nbsp;&nbsp;&nbsp; 当一个值被压入时，被存入st0，原来st0中的值被存入st7<br>MMX: 将8个FPU寄存器重命名为8个64位MMX寄存器，即mm0到mm7。<br>&nbsp;&nbsp;&nbsp;&nbsp; 57条MMX指令，加快了整形浮点运算，但是对于复杂浮点运算无帮助<br><br>SSE: 8个128位寄存器（从xmm0到xmm7），MXSCR寄存器，EFLAGS寄存器，专有指令（复杂浮点运算）<br>SSE2: 寄存器和SSE相同，增加了5种数据类型（都是128位），专有指令<br>SSE3: 仅增加了几个新的指令<br><br>由于MMX使用的寄存器影射到FPU寄存器上，所以MMX指令执行前，需要保存FPU堆栈。<br><br>示例1，FPU寄存器及指令使用（下面所有程序都使用at&amp;t风格汇编）：<br>data1:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .byte 0x34, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00<br>data2:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00<br>.section .text<br>.globl _start<br>_start:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nop<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbld&nbsp; data1&nbsp;&nbsp;&nbsp;&nbsp; 压入st0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimul data2&nbsp;&nbsp;&nbsp;&nbsp; st0中的值和data2相乘，保存在st0中<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbstp data1&nbsp;&nbsp;&nbsp;&nbsp; st0弹出到内存44<br><br><br>示例2, SSE寄存器及指令使用<br>.lcomm data 16<br>value1:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .float 12.34, 2345.543, -3493.2, 0.44901<br>value2:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .float -54439.234, 23231.4, 1.0098, 0.000003<br>.section .text<br>.globl _start<br>_start:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movups value1, %xmm0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movups value2, %xmm1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movups %xmm0, %xmm2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movups %xmm0, data<br><br><br>  <img src ="http://www.cppblog.com/jinglexy/aggbug/22218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jinglexy/" target="_blank">天衣有缝</a> 2007-04-18 15:57 <a href="http://www.cppblog.com/jinglexy/archive/2007/04/18/22218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>