<?xml version="1.0" encoding="gb2312"?>
	<rss version="2.0">
		<channel>
		<title><![CDATA[进步每一天]]></title>
		<description><![CDATA[]]></description>
		<link>http://www.cublog.cn/u/28371/</link>
		<language>zh-cn</language>
		<generator>www.cublog.cn</generator>
		<copyright>Copyright 2010 ChinaUnix.Net All Rights Reserved</copyright>
		<pubDate>Fri, 03 Sep 2010 02:10:11 GMT</pubDate>
	
		<item>
			<title><![CDATA[一个简单的结构列表样例]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2281902]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Mon, 26 Jul 2010 11:31:49 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>由于要在C语言下做一个key-&gt;val列表用来查询，若在Qt下用QMap是很方便的，但在C语言下如何实现，由于高级语言用多了，很多基本的东西却忘了。下面笔者写了一个样例,仅供参考：(分配内存时没有作检查)<BR><BR>typedef struct<BR>{<BR>&nbsp;int key; <BR>&nbsp;int val;<BR>}map_t;<BR></DIV>
<DIV>typedef struct {<BR>&nbsp;int num;<BR>&nbsp;map_t *p;<BR>} maps_t;<BR></DIV>
<DIV>maps_t nlist;<BR></DIV>
<DIV>void map_init()<BR>{<BR>&nbsp;nlist.p = (map_t*)malloc(10 * sizeof(map_t*));<BR>&nbsp;nlist.num = 0;<B……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[机器启动后，批处理bat 文件被改成bat.del]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2264133]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 01 Jul 2010 01:44:00 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>　　写了一个批处理脚本s+.bat,用来生成虚拟盘，放在启动选项中，运行之后就总被改成s+.bat.del,开始还没有什么，后来时间长了，总需要每次手动修改，感觉有点让人烦，在网上查了一也，也没有什么好的说法或解决办法。看来自己动手解决了。<BR><BR>　　用File Monitor工具监视跟踪，文件名被改，肯定会调用函数write或create,加上此过滤条件，发现是360安全卫士干的，这破工具没事找事，把bat文件改成bat.del做什么啊。还叫什么安全卫士，还不如叫破坏卫士，也不给人提示，感觉与讯雷似的，偷偷摸摸上传东西一样。这么一个通用的文件……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[sscanf() - 从一个字符串中读进与指定格式相符的数据.]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2250603]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 10 Jun 2010 02:49:25 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>参考：<A href="http://baike.baidu.com/view/1364018.htm">http://baike.baidu.com/view/1364018.htm</A><BR>今天看到一个程序中sscanf() 的用法，比较有效，以前从来没有注意到，然后就查了一个它的帮助手册，其实以前也看过，只是大概浏览了一下，没有细细口味。<BR><BR>// gcc -o sscanTest sscanTest.c <BR>#include &lt;unistd.h&gt; <BR>#include &lt;stdio.h&gt; </DIV>
<DIV>int main(int argc, char **argv) <BR>{ <BR>&nbsp;char sentence []="Rudolph is 12 years old";<BR>&nbsp; char str [20];<BR>&nbsp; char str2 ……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[win32asm console print string]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2242773]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 28 May 2010 05:50:00 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>File second2.asm :<BR><BR>.386 <BR>.model flat,stdcall <BR>option casemap:none <BR>includelib d:\masm32\lib\kernel32.lib<BR>includelib d:\masm32\lib\user32.lib<BR>includelib d:\masm32\lib\msvcrt.lib <BR>includelib d:\masm32\lib\masm32.lib <BR>includelib d:\masm32\lib\gdi32.lib </DIV>
<DIV>include d:\masm32\include\kernel32.inc<BR>include d:\masm32\include\user32.inc<BR>include d:\masm32\include\windows.inc<BR>include d:\masm32\include\gdi32.inc<BR>include d:\masm32\include\masm32.inc</DIV>……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[从反汇编中提取实现部分代码的测试]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2240565]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Tue, 25 May 2010 08:47:35 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>结合windbg,得到构造与其函数method(int n),把其中部分嵌入C++代码中，（用vs2008测试的）<BR><BR>#include "stdafx.h"<BR>#include &lt;stdio.h&gt;<BR>#include &lt;stddef.h&gt;<BR>#include &lt;stdarg.h&gt;<BR>#include &lt;windows.h&gt;<BR>class my_class<BR>{<BR>public :<BR>&nbsp;my_class()<BR>&nbsp;{<BR>&nbsp;&nbsp;__asm<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;/*****************************<BR>&nbsp;&nbsp;&nbsp;m_member = 1;<BR>&nbsp;&nbsp;&nbsp;c = 's';<BR>&nbsp;&nbsp;&nbsp;/************************……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[windbg中常用的命令]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2237744]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 20 May 2010 07:56:37 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[~ - list threads in current process context<br>~* - list detail information of threads in current process context<br>lm - list all loaded modules<br>!sym noice/quiet - symbol prompts on/off<br>.srcpath - set source code path<br>k - display current stack<br>~*kb - display current stack for all threads<br>dv - display current local variable (ctrl + alt + v to switch mode)<br>.Frame - call stack<br>dt xxx - display data structure for xxx such as PEB<br>!gle/!error - display last error for current t……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[va_list 用法]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2235672]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Mon, 17 May 2010 06:37:05 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[参考：http://www.cppblog.com/xmoss/archive/2009/07/20/90680.aspx<br><a href="http://hi.baidu.com/kang_liang/blog/item/168c9059a9a1ca2d2934f05f.html">http://hi.baidu.com/kang_liang/blog/item/168c9059a9a1ca2d2934f05f.html</a><br>http://www.chinaunix.net/jh/23/31837.html<br><br>#include "stdafx.h"<br>#include &lt;stdio.h&gt;<br>#include &lt;stdlib.h&gt;<br>#include &lt;signal.h&gt;<br>#include &lt;stdarg.h&gt;<br><br>void simple_vas_fun(char* start,...)<br>{<br>&nbsp;&nbsp;&nbsp; va_list arg_ptr;<b……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[C简单实现动态2维数组]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2225429]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 30 Apr 2010 08:46:10 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>引用　：<A href="http://www.chinaunix.net/jh/23/946840.html">http://www.chinaunix.net/jh/23/946840.html</A><BR><BR>在VS2008编译有问题，下面测试是OK的<BR><BR>#include &lt;QtGui/QApplication&gt;<BR>#include "form.h"</DIV>
<DIV>#include &lt;stdio.h&gt;<BR>#include &lt;stdlib.h&gt;<BR>#include &lt;string.h&gt;</DIV>
<DIV>void **darray_new(int row, int col, int size)<BR>{&nbsp;<BR>&nbsp;void **arr;</DIV>
<DIV>&nbsp;arr = (void **) malloc(sizeof(void *) * row + size * row * col);<BR>&nbsp;if (……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[testsprites2 of sdl]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2208262]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Mon, 05 Apr 2010 00:35:06 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<P>1。生成Texture需要指定window,否则程序选择当前的window(没有跟踪sdl源代码，猜想的)<BR>2. 此例每个window都有2个不同的Texture,这样才能在不同的window中显示Texture<BR>3。显示时用sdl_window + Texture代替了原来的sdl_overlay显示<BR>从SDL_DisplayYUVOverlay函数来看，sdl_window显示时与overlay的方式应该是类似的<BR><BR>SDL_DisplayYUVOverlay(SDL_Overlay * overlay, SDL_Rect * dstrect)<BR>{<BR>&nbsp;&nbsp;&nbsp; SDL_RenderCopy(overlay-&gt;hwdata-&gt;texture, NULL, dstrect);<BR>&nbsp;&nbsp;&nbsp; SDL_RenderPre……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[gcc调用vc++编译的dll]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2200721]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Tue, 04 May 2010 13:28:37 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>参考：<A href="http://hi.baidu.com/kaien_space/blog/item/ae765e0aa3de501695ca6bb9.html">http://hi.baidu.com/kaien_space/blog/item/ae765e0aa3de501695ca6bb9.html</A><BR><BR>环境winxp, mingw vs2008<BR>1. dll.h<BR></DIV>
<DIV>#ifndef LIB_H<BR>#define LIB_H<BR>#ifdef LIBAPI<BR>&nbsp;#define EXPORT __declspec(dllexport)<BR>#else<BR>&nbsp;#define EXPORT __declspec(dllimport)<BR>#endif</DIV>
<DIV>extern "C"<BR>{<BR>&nbsp;int EXPORT add(int x, int y);<BR>}</DIV>
<DIV>#endif<BR><BR>2.&nbsp;testDll……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[from system api得到工作区大小workerea]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2200217]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Mon, 22 Mar 2010 06:33:36 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>测试代码：<BR><BR>&nbsp;LPRECT prc = new RECT;<BR>&nbsp;HMONITOR hMonitor;<BR>&nbsp;MONITORINFO info;<BR>&nbsp;hMonitor = MonitorFromRect(prc, MONITOR_DEFAULTTONEAREST);<BR>&nbsp;<BR>&nbsp;memset(&amp;info, 0, sizeof(MONITORINFO));<BR>&nbsp;info.cbSize = sizeof(MONITORINFO);<BR>&nbsp;BOOL b = GetMonitorInfo(<BR>&nbsp;&nbsp;hMonitor,&nbsp; // handle to display monitor<BR>&nbsp;&nbsp;&amp;info&nbsp; // display monitor information<BR>&nbsp;&nbsp;);<BR>&nbsp;printf("w = %d, \n", GetLastError() ……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[NSIS 的 Modern UI 教程（二）]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2197958]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 18 Mar 2010 02:11:47 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV><BR><B>InstallOptions 和定制页面</B><BR>InstallOptions 是一个 NSIS 插件，他能让安装程序开发人员创建定制的向导页面来获得内置向导页面不能提供的用户输入。<BR><BR>InstallOptions 会创建内嵌在 NSIS 窗体中的对话框。InstallOptions 的控件用 INI 文件描述。该文件可以用可视化工具生成。HM NIS EDIT 就是这样的一个工具。<BR><BR>InstallOptions 控件 INI 文件的结构<BR>InstallOptions INI 文件包含一个必须的段。它包含了控件的数量、窗体的属性等。该文还可包含描述具体空间的段。<BR>必须的段是 Settings，它可以包含以下……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[NSIS 的 Modern UI 教程（一）]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2197955]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 18 Mar 2010 02:10:46 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<BR>NSIS 2.0 版本支持定制的用户界面。所谓的 Modern UI(下称 MUI) 就是一种模仿最新的 Windows 界面风格的界面系统。MUI 改变了 NSIS 脚本的编写习惯，它使用 NSIS 的宏来表达，指定 MUI 的属性需要使用宏。所以，诸如 LicenseText, Icon, CheckBitmap, InstallColors 在 MUI 中失去意义。<BR><BR><B>MUI 的内置向导页面</B><BR><U>和安装程序有关的向导页面</U><BR>MUI_PAGE_WELCOME 该向导页面显示欢迎信息<BR>MUI_PAGE_LICENSE text/rtf_file 该向导页面显示软件授权申明<BR>MUI_PAGE_COMPONENTS 该向导页面显示安装组件选择<BR>MUI_……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[// some asm mmove test ]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2195012]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 12 Mar 2010 09:20:08 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>#include "stdafx.h"<BR>#include "windows.h"<BR>#include "stdio.h"</DIV>
<DIV>void mmove_int(char *d, char *s, int l)<BR>{<BR>&nbsp;int *pd = (int *)d;<BR>&nbsp;int *ps = (int *)s;<BR>&nbsp;int i = 0;</DIV>
<DIV>&nbsp;for (i = 0; i &lt; l / 4; i++)<BR>&nbsp;&nbsp;*pd++ = *ps++;</DIV>
<DIV>&nbsp;for (i = 0; i &lt; l % 4; i++)<BR>&nbsp;&nbsp;*(char *)pd++ = *(char *)ps++;<BR>}</DIV>
<DIV><BR>void mmove_char(char *d, char *s, int l)<BR>{<BR>&nbsp;char *pd = d;<BR>&nbsp;char *ps = s;<BR>&nbs……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[office vc++ url]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2193004]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 10 Mar 2010 06:04:20 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV><FONT color=#555555>CWzjOffice类，用来对WORD进行简单的操作。</FONT><BR><A href="http://bbs.xiakexing.com/cgi-bin/topic.cgi?forum=22&amp;topic=689&amp;show=0">http://bbs.xiakexing.com/cgi-bin/topic.cgi?forum=22&amp;topic=689&amp;show=0</A><BR><BR><FONT color=#555555><SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 20px">VC操作office的封装类CWzjOffice 3.0</SPAN> <BR></FONT><A href="http://ads.kexue.com.cn/m/user_content.aspx?id=219940">http://ads.kexue.com.cn/m/user_content.aspx?id=219940</A><BR><B……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[asm read from bios]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2191483]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Sat, 06 Mar 2010 12:38:26 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>;向CMOS读取时间<BR>assume cs:code <BR>data segment<BR>&nbsp;ts db "Now, The Date and Time is:", 0Dh, 0Ah, '$'<BR>&nbsp;unit db 50,9,'-',8,'-',7,' ',4,':',2,':',0<BR>data ends<BR>code segment <BR>&nbsp;<BR>start:<BR>&nbsp;mov ax, data<BR>&nbsp;mov ds,ax<BR>&nbsp;lea dx, ts<BR>&nbsp;mov ah, 9<BR>&nbsp;int 21h<BR>&nbsp;;;show time<BR>&nbsp; mov ax, 0b800h<BR>&nbsp; mov es, ax<BR>&nbsp; mov bx, 3*160 </DIV>
<DIV>dynxs: mov di, 0<BR>&nbsp;mov si, offset unit<BR>&nbsp;mov cx, 12<BR>s:<BR>&nbsp;p……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[virtual function c++ test]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2190593]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 05 Mar 2010 13:04:22 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV><BR>#include &lt;windows.h&gt;<BR>#include &lt;stdio.h&gt;</DIV>
<DIV>class baseA<BR>{<BR>public:<BR>&nbsp;virtual void PrintScreen() <BR>&nbsp;{<BR>&nbsp;&nbsp;int c = 5;<BR>&nbsp;&nbsp;printf("a100 = %d\n", c);</DIV>
<DIV>&nbsp;};</DIV>
<DIV>&nbsp;virtual void Add(int a, int b) <BR>&nbsp;{<BR>&nbsp;&nbsp;int c = a+b;<BR>&nbsp;&nbsp;printf("a100 = %d\n", c);</DIV>
<DIV>&nbsp;};</DIV>
<DIV>&nbsp;void PrintScreen(int a, int b, int c) <BR>&nbsp;{<BR>&nbsp;&nbsp;int d = a+b+c;<BR>&nbsp;&n……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[asm overflow!]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2190617]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 04 Mar 2010 14:15:58 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[王爽的&lt;汇编语言&gt;中的中断处理<BR><BR>assume cs:code<BR>code segment<BR>&nbsp; start: mov ax,cs<BR>&nbsp;&nbsp;&nbsp;mov ds,ax<BR>&nbsp;&nbsp;&nbsp;mov si,offset do0<BR>&nbsp;&nbsp;&nbsp;mov ax,0<BR>&nbsp;&nbsp;&nbsp;mov es,ax<BR>&nbsp;&nbsp;&nbsp;mov di,200H<BR>&nbsp;&nbsp;&nbsp;mov cx,offset do-offset do0<BR>&nbsp;&nbsp;&nbsp;cld<BR>&nbsp;&nbsp;&nbsp;rep movsb<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;mov word ptr es:[0*4],200H<BR>&nbsp;&nbsp;&nbsp;mov word ptr es:[0*4+2],0<BR>&nbsp;&nbsp……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[用asm显示word unix]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2188739]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Mon, 01 Mar 2010 14:07:22 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV><BR>assume cs:code,ds:data<BR>code segment</DIV>
<DIV>data segment<BR>&nbsp;db 'word123',0<BR>&nbsp;db 'unix',0<BR>&nbsp;db 'wind',0<BR>&nbsp;db 'good',0<BR>data ends<BR>&nbsp;<BR>start:<BR>&nbsp;mov ax, data<BR>&nbsp;mov ds, ax<BR>&nbsp;mov bx, 0<BR>&nbsp;mov cx, 4<BR>&nbsp;<BR>&nbsp;mov ax,0b800h<BR>&nbsp; mov es,ax<BR>&nbsp; mov di,12*160+32*2<BR>&nbsp;s:<BR>&nbsp;&nbsp;mov si, bx<BR>&nbsp;call capital<BR>&nbsp;;add bx, 5<BR>&nbsp;loop s</DIV>
<DIV>&nbsp;mov ax,4c00h<BR>&nbsp;int 21h</……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[VC++ Example: Loading DLLs LoadLibrary and GetProc]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u/28371/showart.php?id=2182698]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Sat, 20 Feb 2010 02:54:37 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<DIV>参考：<A href="http://www.ucancode.net/Visual_C_Codes/Loading-DLLs-LoadLibrary-GetProcAddress-FreeLibrary-VC-Example.htm">http://www.ucancode.net/Visual_C_Codes/Loading-DLLs-LoadLibrary-GetProcAddress-FreeLibrary-VC-Example.htm</A>#<BR><BR>#include &lt;string.h&gt;<BR>#include &lt;stdio.h&gt;<BR>#include &lt;windows.h&gt;</DIV>
<DIV>//GetProcAddresses<BR>//Argument1: hLibrary - Handle for the Library Loaded<BR>//Argument2: lpszLibrary - Library to Load<BR>//Argument3: nCount - Number of fu……  ]]></description>
		</item>	
			</channel>
	</rss>
