<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>win32系统</title><link>http://blog.vckbase.com/bastet/category/838.html</link><description>win32系统</description><managingEditor>Diviner</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>Diviner</dc:creator><title>如何重载operator new,delete操作</title><link>http://blog.vckbase.com/bastet/archive/2008/08/06/34595.html</link><pubDate>Wed, 06 Aug 2008 05:31:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/08/06/34595.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/34595.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/08/06/34595.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/34595.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/34595.html</trackback:ping><description>得承认，这不困难，下面的这种做法可能看起来舒服些。&lt;BR&gt;&lt;BR&gt;#include &lt;malloc.h&gt;&lt;BR&gt;&lt;BR&gt;namespace HL &lt;BR&gt;{&lt;BR&gt;	class mallocHeap &lt;BR&gt;	{&lt;BR&gt;	public:&lt;BR&gt;&lt;BR&gt;		~mallocHeap (void) {}&lt;BR&gt;&lt;BR&gt;		inline void * malloc (size_t sz) &lt;BR&gt;		{&lt;BR&gt;			return ::malloc (sz);&lt;BR&gt;		}&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;		inline void free (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			::free (ptr);&lt;BR&gt;		}&lt;BR&gt;&lt;BR&gt;		inline size_t getSize (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			return ::_msize (ptr);&lt;BR&gt;		}&lt;BR&gt;	};&lt;BR&gt;&lt;BR&gt;	template &lt;class SuperHeap&gt;&lt;BR&gt;	class PerClassHeap &lt;BR&gt;	{&lt;BR&gt;	public:&lt;BR&gt;		inline void * operator new (size_t sz) &lt;BR&gt;		{&lt;BR&gt;			printf("Malloc one\n");&lt;BR&gt;			return getHeap()-&gt;malloc (sz);&lt;BR&gt;		}&lt;BR&gt;		inline void operator delete (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			printf("delete one\n");&lt;BR&gt;			getHeap()-&gt;free (ptr);&lt;BR&gt;		}&lt;BR&gt;		inline void * operator new[] (size_t sz) &lt;BR&gt;		{&lt;BR&gt;			return getHeap()-&gt;malloc (sz);&lt;BR&gt;		}&lt;BR&gt;		inline void operator delete[] (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			getHeap()-&gt;free (ptr);&lt;BR&gt;		}&lt;BR&gt;		// For some reason, g++ needs placement new to be overridden&lt;BR&gt;		// as well, at least in conjunction with use of the STL.&lt;BR&gt;		// Otherwise, this should be superfluous.&lt;BR&gt;		inline void * operator new (size_t sz, void * p) { return p; }&lt;BR&gt;		inline void * operator new[] (size_t sz, void * p) { return p; }&lt;BR&gt;&lt;BR&gt;	private:&lt;BR&gt;		inline static SuperHeap * getHeap (void) &lt;BR&gt;		{&lt;BR&gt;			static SuperHeap theHeap;&lt;BR&gt;			return &amp;theHeap;&lt;BR&gt;		}&lt;BR&gt;	};&lt;BR&gt;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;class TestB : public HL::PerClassHeap&lt;HL::mallocHeap&gt;&lt;BR&gt;{&lt;BR&gt;&lt;BR&gt;};&lt;img src ="http://blog.vckbase.com/bastet/aggbug/34595.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>gcc 4.3.0　for win32</title><link>http://blog.vckbase.com/bastet/archive/2008/04/01/33116.html</link><pubDate>Tue, 01 Apr 2008 13:37:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/04/01/33116.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/33116.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/04/01/33116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/33116.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/33116.html</trackback:ping><description>http://www.tdragon.net/recentgcc/&lt;BR&gt;&lt;BR&gt;Twilight Dragon Media Logo&lt;BR&gt;Navigation&lt;BR&gt;Home&lt;BR&gt;Recent GCC Binaries for MinGW&lt;BR&gt;News&lt;BR&gt;2008-03-22&lt;BR&gt;GCC 4.3.0 TDM-2 released! Shared libgcc&amp;libstdc++ and Dwarf-2 exceptions are here! Make sure to read the usage notes for details on the new features.&lt;BR&gt;&lt;BR&gt;2008-03-11&lt;BR&gt;GCC 4.3.0 TDM-1 released! All previous bugfixes are integrated into the source now, plus a whole slew of new features in the GCC 4.3 changelog. Look for builds with shared libraries and Dwarf2 exceptions coming soon!&lt;BR&gt;&lt;BR&gt;2008-02-03&lt;BR&gt;GCC 4.2.3 TDM-1 released! Includes all previous TDM fixes plus a few bugfixes in the vanilla sources from 4.2.2.&lt;BR&gt;&lt;BR&gt;2007-10-11&lt;BR&gt;GCC 4.2.2 TDM-1 released! Various bugfixes in the vanilla sources from 4.2.1 to 4.2.2, plus a patch to fix the ICE compiling GNU gettext.&lt;BR&gt;&lt;BR&gt;2007-08-06&lt;BR&gt;GCC 4.2.1 TDM-2 released! Now includes Objective-C++ and Treelang packages, and support for non-UTF-8 charsets (-finput-charset, etc.).&lt;BR&gt;&lt;BR&gt;TDM's Experimental GCC/MinGW32 Builds&lt;BR&gt;Binary packages of recent GCC releases targeting the MinGW compiler system&lt;BR&gt;Main Page | Development Information | Bugs&lt;BR&gt;&lt;BR&gt;SourceForge.net Logo&lt;BR&gt;TDM GCC releases hosted by SourceForge&lt;BR&gt;Support This Project&lt;BR&gt;Consider making a donation to support the TDM-GCC project&lt;BR&gt;Last updated: 2008-03-28 09:04&lt;BR&gt;&lt;BR&gt;in a nutshell&lt;BR&gt;The TDM-GCC builds are unofficially created packages designed to replace, for experimentation purposes, the official MinGW releases of GCC binaries. The TDM-GCC builds typically contain fewer changes from the vanilla sources and receive less testing than their official counterparts. Since these builds are not formally affiliated with or endorsed by the MinGW project, they should be treated as unstable and unsupported software -- in other words, use it at your own risk.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Recommended Download&lt;BR&gt;GCC 4.3.0-tdm-2&lt;BR&gt;(Default SJLJ exceptions)&lt;BR&gt;Released 2008-03-21&lt;BR&gt;Package 	Download&lt;BR&gt;core&lt;BR&gt;(Required base files and C support) 	[tar.gz] (5.67 MB) or [zip] (5.44 MB)&lt;BR&gt;g++&lt;BR&gt;(C++ support) 	[tar.gz] (8.41 MB) or [zip] (8.73 MB)&lt;BR&gt;fortran&lt;BR&gt;(Fortran support) 	[tar.gz] (4.54 MB) or [zip] (4.34 MB)&lt;BR&gt;objc&lt;BR&gt;(Objective-C support) 	[tar.gz] (3.55 MB) or [zip] (3.41 MB)&lt;BR&gt;objc++&lt;BR&gt;(Objective-C++ support) 	[tar.gz] (3.68 MB) or [zip] (3.53 MB)&lt;BR&gt;	OR	&lt;BR&gt;GCC 4.3.0-tdm-2&lt;BR&gt;With DW2 Exceptions&lt;BR&gt;Released 2008-03-21&lt;BR&gt;Package 	Download&lt;BR&gt;core&lt;BR&gt;(Required base files and C support) 	[tar.gz] (7.84 MB) or [zip] (7.49 MB)&lt;BR&gt;g++&lt;BR&gt;(C++ support) 	[tar.gz] (6.30 MB) or [zip] (6.76 MB)&lt;BR&gt;fortran&lt;BR&gt;(Fortran support) 	[tar.gz] (4.52 MB) or [zip] (4.34 MB)&lt;BR&gt;objc&lt;BR&gt;(Objective-C support) 	[tar.gz] (3.54 MB) or [zip] (3.41 MB)&lt;BR&gt;objc++&lt;BR&gt;(Objective-C++ support) 	[tar.gz] (3.66 MB) or [zip] (3.53 MB)&lt;BR&gt;For previous releases and source code, see the TDM-GCC download page on SourceForge.&lt;BR&gt;GCC is supposed to support language XYZ! Why isn't there a language pack available for it?&lt;BR&gt;See the development page for details on languages that don't currently compile -- maybe you can provide a patch or alternate build command so that they can!&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;installation&lt;BR&gt;These binary packages are designed as drop-in replacements for the MinGW project's official gcc packages. When using these packages, you are encouraged to start with a clean slate and install only the MinGW packages which are necessary to you. At a minimum for basic Windows development, you'll need the following packages:&lt;BR&gt;&lt;BR&gt;    * binutils (binutils-2.18.50-20080109-2.tar.gz, 5.81MB)&lt;BR&gt;    * mingw-runtime (mingw-runtime-3.14.tar.gz, 494KB)&lt;BR&gt;    * w32api (w32api-3.11.tar.gz, 1.55MB)&lt;BR&gt;&lt;BR&gt;You might also want to install:&lt;BR&gt;&lt;BR&gt;    * mingw-utils (mingw-utils-0.3.tar.gz, 1.51MB)&lt;BR&gt;    * mingw32-make (mingw32-make-3.81-2.tar.gz, 95KB)&lt;BR&gt;    * gdb (gdb-6.6.tar.bz2, 1.80MB)&lt;BR&gt;&lt;BR&gt;You'll need GDB particularly if you want to use an IDE with debugging support.&lt;BR&gt;&lt;BR&gt;Decide whether to use the SJLJ or DW2 (Dwarf-2) exception model. As a general rule, you should choose the default SJLJ packages, unless you know you need faster exception handling and can guarantee you'll never need to unwind through non-DW2-compiled stack frames (such as a Windows callback). Then, for the exception model of your choice, download at least the "core" TDM-GCC package, which includes the required base files as well as support for the C language. You can also download any or all of the other TDM-GCC packages, depending on which of GCC's supported languages you'd like to use.&lt;BR&gt;&lt;BR&gt;Extract the MinGW packages to an empty directory -- typically C:\MinGW. Then, extract the TDM-GCC package(s) and choose to overwrite any duplicate files that may exist. If you chose to use the "dw2" TDM-GCC packages, consider removing the "-dw2" suffix from the program names; see the README file or the usage notes for further details. Finally, consider adding the bin directory to your Windows PATH environment variable.&lt;BR&gt;&lt;BR&gt;You can browse all released packages and source packages at the TDM-GCC download page on SourceForge. Beginning with the 4.3.0 release, all TDM-GCC releases are now available as gzipped tarballs or zip archives. Previous releases do, of course, still require 7-Zip for unarchiving.&lt;BR&gt;&lt;BR&gt;All-in-One Installer:&lt;BR&gt;Giovanni Bajo created an "all-in-one" user-friendly installer of an earlier 4.1.2 GCC-TDM release, which additionally features full Python integration. The full installer is available at http://www.develer.com/oss/GccWinBinaries.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;usage notes&lt;BR&gt;Exceptions and DLLs:&lt;BR&gt;WARNING: The shared libgcc and libstdc++ in 4.3.0 aren't fully working yet; depending on which objects you use from libstdc++, you may see multiple definition errors and/or auto-import warnings.&lt;BR&gt;&lt;BR&gt;In order to throw an exception out of a DLL and successfully catch it, your program must link with the shared (DLL) versions of libgcc and libstdc++. This is important for several reasons.&lt;BR&gt;&lt;BR&gt;    * The default action is still to link with the static versions of these libraries. This is fine for the majority of people. In order to link with the shared versions of libgcc and libstdc++, you need to add "-shared-libgcc" and "-lstdc++_s" to the link-time compilation step. For example: gcc -o test.exe test.o -ltest -shared-libgcc -lstdc++_s.&lt;BR&gt;    * If you make use of common libstdc++ objects in your program while using the above options, you'll see auto-import warnings and/or errors unless you ALSO, at COMPILE-TIME, define the macro "_DLL". You can either do a "#define _DLL" before including libstdc++ headers, or add "-D_DLL" to the command line. For example: gcc -c -o test.o test.cpp -D_DLL.&lt;BR&gt;    * Linking with the shared versions of libgcc and libstdc++ means you have to distribute the libgcc and libstdc++ DLLs along with your programs. Also, this in turn tends to open up questions about the GPL and source code distribution requirements; be sure to read this page from the MinGW Wiki, as well as this FAQ from the GNU website's GPL FAQs. &lt;BR&gt;&lt;BR&gt;Dwarf-2 vs. SJLJ unwinding:&lt;BR&gt;GCC supports two methods of stack frame unwinding: Dwarf-2 (DW2) or SJLJ (setjmp/longjmp). Until recently, only SJLJ has been available for the Windows platform. This affects you, the end user, primarily in programs that throw and catch exceptions. Programs which utilize the DW2 unwind method handle exceptions much more quickly than programs which utilize the SJLJ method. However, the DW2 method increases code size by a noticeable amount, and additionally cannot yet unwind (pass exceptions) through "foreign" stack frames: stack frames compiled by another non-DW2-enabled compiler, such as OS DLLs in a Windows callback.&lt;BR&gt;&lt;BR&gt;This means that you should in general choose the SJLJ version of the TDM-GCC builds unless you know you need faster exception handling and can be certain you will never throw an exception through a foreign stack area.&lt;BR&gt;&lt;BR&gt;As distributed, the SJLJ and DW2 packages of TDM-GCC can coexist peacefully extracted to the same directory (e.g. any files in common are for all intents and purposes identical), because the driver executables (the ones in the "bin" directory) are suffixed with "-dw2" for the DW2 build, and the libraries and other executables hide in another "-dw2" directory in "lib(exec)/gcc/mingw32". This allows you to use the same single addition to your PATH, and use DW2 exceptions only when you need them by calling "gcc-dw2", etc. If you truly want DW2 exceptions as the default when calling "gcc" (from Makefiles or configury systems, for example), you can rename or copy the suffixed executables to their original names.&lt;BR&gt;&lt;BR&gt;Warnings and errors:&lt;BR&gt;GCC 4 represents a significant step forward in optimization capabilities, error detection, and standards compliance, and this is more true than ever with the advent of the 4.3 release series. For you, the end user, this will mean that code which used to compile and run without problems will almost certainly exhibit some warnings and maybe even a few errors.&lt;BR&gt;&lt;BR&gt;These meaningful warnings and errors are a very good thing, as they help the programmer to write safer and more correct code. Unfortunately, there's also a chance you might encounter incorrect warnings or errors, ICE's (internal compiler errors, where the compiler makes a mistake and has to bail out), or even miscompilations (where your code is incorrectly compiled and produces the wrong result).&lt;BR&gt;&lt;BR&gt;If you encounter an ICE while using a TDM-GCC build, feel free to file a bug report (see the Bugs page). With any other unexpected problem, you are urged to work from the assumption that it stems from user error, and ensure that your code is correct and standards-compliant.&lt;BR&gt;&lt;BR&gt;OpenMP and pthreads-w32:&lt;BR&gt;The TDM-GCC releases include support for OpenMP. Be sure to read the file README-gcc-tdm.txt, included in the core package, for usage notes on this topic.&lt;BR&gt;&lt;BR&gt;Local Fixes and Changes:&lt;BR&gt;See the Development page for information on patches to the vanilla sources included in the TDM-GCC releases.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;bugs and known issues&lt;BR&gt;&lt;BR&gt;    * [Only releases prior to 4.3.0-tdm-2] Exceptions cannot leave DLLs. This issue was fixed in the official MinGW releases with local patches for the 3.4 series and 4.2 series, but is not fixed in the main GCC sources. Beginning with 4.3.0-tdm-2, the patchset to build shared libraries and fix this has been ported to the TDM-GCC releases. The problem only appears in previous releases when a function in a DLL called from outside the DLL throws (or fails to catch) an exception, and results in program termination at that point.&lt;BR&gt;    * [4.2 series only] A miscompilation can occur in very specific situations when -O2 optimization is enabled, if you pass the address of a local pointer variable to a function that modifies it. Use "-O2 -fno-strict-aliasing" as a workaround. This has been fixed as of the 4.3 series. (See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32328) &lt;BR&gt;&lt;BR&gt;These builds are provided primarily on an experimental basis. As such, they are expected to contain bugs. If you encounter a bug that you are certain is in the GCC sources (such as an ICE), or that is due to an issue in the building or packaging process, you are encouraged to report it. Please visit the Bugs Page for bug reporting instructions.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;source code&lt;BR&gt;The source code for the TDM-GCC binary releases is available from the TDM-GCC download page on SourceForge. It is distributed in the form of the original ("vanilla") separate source packages as downloaded, plus an additional "TDM Sources" package. The TDM Sources package includes unified diffs of any changes made to the vanilla sources, as well as the set of scripts used to build the binary releases.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;license&lt;BR&gt;The TDM-GCC packages contain binary distributions constituting a work based on GCC, which is licensed under the GPL. For further details, refer to the file "COPYING-gcc-tdm.txt" within the downloaded package. Additionally, TDM-GCC contains binary files constituting works based on libiconv, GMP, MPFR, and pthreads-w32, all of which are licensed under the LGPL; COPYING.lib-gcc-tdm.txt contains a copy of the LGPL.&lt;BR&gt;&lt;BR&gt;The TDM-GCC distribution is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.&lt;BR&gt;&lt;BR&gt;TDM-GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.&lt;BR&gt;&lt;BR&gt;You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;The contents of this website, including but not limited to graphics, layout, and text, are copyright John E. 2005-2008. All rights reserved; you must obtain explicit written permission from the author before using any portion of this site in your own works. This website is designed to be best viewed in HTML 4.01 and CSS2+ compliant browsers running under a monitor resolution of at least 1024x768.&lt;BR&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/33116.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>有关开源的一次聊天记录</title><link>http://blog.vckbase.com/bastet/archive/2007/09/20/29588.html</link><pubDate>Thu, 20 Sep 2007 05:16:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2007/09/20/29588.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/29588.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2007/09/20/29588.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/29588.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/29588.html</trackback:ping><description>BastEt 7 (43791167) 12:55:21&lt;BR&gt;这个世界有很多矛盾，但现在也想不通，这些事情到底是怎么发生的呢。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:53:52&lt;BR&gt;利益&lt;BR&gt;BastEt 7 (43791167) 12:56:00&lt;BR&gt;利益，利用&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:54:54&lt;BR&gt;比如WIndows系统对C++的支持&lt;BR&gt;BastEt 7 (43791167) 12:56:48&lt;BR&gt;难道真是如精英主义们认为的，他们决定一切，我们接受安排。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:55:18&lt;BR&gt;是啊&lt;BR&gt;完全实现(39025058) 12:56:03&lt;BR&gt;没如没有WINDOWS平台,我们这些所谓的软件工程师的工资会高很多&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:56:10&lt;BR&gt;不会&lt;BR&gt;BastEt 7 (43791167) 12:58:00&lt;BR&gt;不会有这么多软件工程师的需求。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:56:29&lt;BR&gt;没有Windows的话,应用开展不了&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:56:37&lt;BR&gt;还是IBM的天下&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:56:42&lt;BR&gt;基本靠贿赂&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:56:59&lt;BR&gt;IBM基本上是一家贿赂公司&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:57:38&lt;BR&gt;现在她的Power G6的性能没有Intel的好&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:57:58&lt;BR&gt;IBM还把PowerG6放到大型机里面忽悠人&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:58:09&lt;BR&gt;买的贵1000倍有余&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:58:12&lt;BR&gt;卖&lt;BR&gt;BastEt 7 (43791167) 13:00:22&lt;BR&gt;真黑啊。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:58:52&lt;BR&gt;SUN更黑&lt;BR&gt;BastEt 7 (43791167) 13:00:33&lt;BR&gt;sun,hp,ibm,sgi这些公司感觉都黑。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:59:00&lt;BR&gt;是啊&lt;BR&gt;wildfire(13518116) 12:59:09&lt;BR&gt;他们确实有自己的技术。&lt;BR&gt;BastEt 7 (43791167) 13:00:56&lt;BR&gt;感觉跟中国市场上浙江货取代以前的国有货一样。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:59:22&lt;BR&gt;微软算比较是在的了&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 12:59:25&lt;BR&gt;实在&lt;BR&gt;漂舟(15282890) 12:59:26&lt;BR&gt;除了技术，能做到这一步，&lt;BR&gt;都是黑中的极品。&lt;BR&gt;wildfire(13518116) 12:59:30&lt;BR&gt;但是把技术弄的高端了，就是为了高价&lt;BR&gt;wildfire(13518116) 13:00:09&lt;BR&gt;确实我现在也觉得ibm的刀片配套得都不错。当然，cpu是intel的。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:00:13&lt;BR&gt;长远来看,个人用户这块,Windows和Apple必将二分天下&lt;BR&gt;硕鼠(492943470) 13:00:27&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:00:29&lt;BR&gt;因为,只有这两家不靠贿赂&lt;BR&gt;硕鼠(492943470) 13:00:34&lt;BR&gt;两分？&lt;BR&gt;硕鼠(492943470) 13:00:48&lt;BR&gt;Apple有多少个人用户？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:00:48&lt;BR&gt;Novell Redhat 红旗 都是靠贿赂&lt;BR&gt;漂舟(15282890) 13:00:56&lt;BR&gt;苹果机好像很贵 ？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:01:08&lt;BR&gt;Linux厂商的贿赂额度很大&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:01:26&lt;BR&gt;基本上单价的80%用来贿赂&lt;BR&gt;BastEt 7 (43791167) 13:03:05&lt;BR&gt;ms肯定现在也贿赂中国政府的，像上次的&amp;#8220;所有的机器不准裸机&amp;#8221;摆明了是针对盗版WIN来的。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:01:35&lt;BR&gt;对的&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:02:11&lt;BR&gt;总体上来看,Windows和Apple必将成为计算机界的麦当劳和KFC&lt;BR&gt;硕鼠(492943470) 13:02:34&lt;BR&gt;Apple差太多了&lt;BR&gt;wildfire(13518116) 13:02:37&lt;BR&gt;问题是ms不生产硬件。硬件从哪里来？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:02:47&lt;BR&gt;这个不是关键&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:02:56&lt;BR&gt;Apple也不做硬件&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:03:03&lt;BR&gt;只是设计和软件&lt;BR&gt;硕鼠(492943470) 13:03:04&lt;BR&gt;Apple当然做硬件&lt;BR&gt;BastEt 7 (43791167) 13:04:46&lt;BR&gt;可以找台湾代工。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:03:13&lt;BR&gt;富士康代工&lt;BR&gt;BastEt 7 (43791167) 13:04:54&lt;BR&gt;MS周边也有不少。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:03:39&lt;BR&gt;XBOX和iPod在一家工厂生产&lt;BR&gt;BastEt 7 (43791167) 13:05:21&lt;BR&gt;但最终生产估计也是中国或者台湾出来的。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:03:47&lt;BR&gt;嗯&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:04:30&lt;BR&gt;现在,Windows一通天下的,Apple盘踞诸岛的格局就要形成了&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:04:43&lt;BR&gt;IBM可能不久就推出实物业务&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:04:59&lt;BR&gt;全力经营"忽悠"主业&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:05:07&lt;BR&gt;咨讯&lt;BR&gt;BastEt 7 (43791167) 13:06:48&lt;BR&gt;推－＞退吧？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:05:16&lt;BR&gt;嗯&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:05:31&lt;BR&gt;IBM的主要利润来自咨询&lt;BR&gt;BastEt 7 (43791167) 13:07:18&lt;BR&gt;一些高端业务可能他还会做吧？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:05:46&lt;BR&gt;软件都是通过资讯搭售的&lt;BR&gt;BastEt 7 (43791167) 13:07:26&lt;BR&gt;像什么xbox的里面的心片？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:06:00&lt;BR&gt;那个可能会剥离吧&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:06:28&lt;BR&gt;IBM最后肯定走麦肯锡的路&lt;BR&gt;BastEt 7 (43791167) 13:08:16&lt;BR&gt;那块业务我觉得比较重要：1、政府国防需要，2、利润大。&lt;BR&gt;BastEt 7 (43791167) 13:08:22&lt;BR&gt;3、没有什么竞争　。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:06:46&lt;BR&gt;嗯&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:06:49&lt;BR&gt;这倒是&lt;BR&gt;BastEt 7 (43791167) 13:09:14&lt;BR&gt;我觉得他的思路基本上是从竞争激烈的行业退出。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:07:47&lt;BR&gt;SUN在国防业做的很好&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:08:04&lt;BR&gt;嗯,IBM是个恐龙&lt;BR&gt;BastEt 7 (43791167) 13:10:01&lt;BR&gt;名字叫：国际商用电器。&lt;BR&gt;BastEt 7 (43791167) 13:10:08&lt;BR&gt;估计很多个业务　的。&lt;BR&gt;BastEt 7 (43791167) 13:10:51&lt;BR&gt;美国最早很多公司好像卖加法机，避雷针发财了。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:09:20&lt;BR&gt;IBM鼓吹开源害死很多小公司,在国外的名声很差的,同时自己还申请专利,又开源又专利本身就是矛盾的&lt;BR&gt;BastEt 7 (43791167) 13:11:25&lt;BR&gt;MS在中国也是这样搞的，可悲的是真正意识到的不多，都是被IBM利用了。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:10:01&lt;BR&gt;是啊&lt;BR&gt;BastEt 7 (43791167) 13:12:16&lt;BR&gt;要真的把MS搞倒了，最终受损害的还是我们。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:10:44&lt;BR&gt;对的&lt;BR&gt;BastEt 7 (43791167) 13:12:43&lt;BR&gt;linux则不同，LINUX基本上是控制在这几家比较黑的公司手上的。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:11:05&lt;BR&gt;MS倒闭了,用户可能很多年都不买新电脑&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:11:28&lt;BR&gt;Linux的有可能会闭源&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:11:37&lt;BR&gt;如果GNU3失败的话&lt;BR&gt;BastEt 7 (43791167) 13:13:20&lt;BR&gt;想象得到，要是MS倒了，linux不一定会闭源，但可能会分成两个分支。&lt;BR&gt;BastEt 7 (43791167) 13:13:51&lt;BR&gt;一支很垃圾，开源的，普通人用，一支用起来很好用，但是闭源的（其实只要一个好的GUI桌面就可以了）&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:12:13&lt;BR&gt;欧洲人很傻&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:12:17&lt;BR&gt;支持Linux&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:12:28&lt;BR&gt;结果自己的操作系统无法发展&lt;BR&gt;BastEt 7 (43791167) 13:14:21&lt;BR&gt;表面上ms和linux之战，暗地里还是大公司之间的争斗。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:12:49&lt;BR&gt;是啊&lt;BR&gt;BastEt 7 (43791167) 13:14:42&lt;BR&gt;我把这段话贴到我的BLOG上去可以吧？&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:13:05&lt;BR&gt;国内的人很少从商业层面思考&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:13:18&lt;BR&gt;都是学生层次的思考力&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:13:26&lt;BR&gt;可以啊&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:13:46&lt;BR&gt;&amp;nbsp;&lt;BR&gt;BastEt 7 (43791167) 13:15:32&lt;BR&gt;欧州不一定呆，有可能也受了IBM的钱了。&lt;BR&gt;wildfire(13518116) 13:14:10&lt;BR&gt;国内都白痴啊&lt;BR&gt;wildfire(13518116) 13:14:13&lt;BR&gt;我算见识过了&lt;BR&gt;wildfire(13518116) 13:14:20&lt;BR&gt;跟他讲道理，还跟你急&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:14:33&lt;BR&gt;唉&lt;BR&gt;BastEt 7 (43791167) 13:16:28&lt;BR&gt;用传销的方式，直接喊几声口号。&lt;BR&gt;BastEt 7 (43791167) 13:16:32&lt;BR&gt;说不定他就相信了。&lt;BR&gt;&amp;nbsp; Linker.Lin(19775974) 13:15:04&lt;BR&gt;&amp;nbsp;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/29588.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>gcc 4.1 for win32到这个地方可以下得到。</title><link>http://blog.vckbase.com/bastet/archive/2007/04/27/25806.html</link><pubDate>Fri, 27 Apr 2007 01:27:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2007/04/27/25806.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/25806.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2007/04/27/25806.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/25806.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/25806.html</trackback:ping><description>&lt;A href="http://oss.netfarm.it/mplayer-win32.php"&gt;http://oss.netfarm.it/mplayer-win32.php&lt;/A&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/25806.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>winpcap4.0前段时间放出</title><link>http://blog.vckbase.com/bastet/archive/2007/02/27/24664.html</link><pubDate>Tue, 27 Feb 2007 01:19:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2007/02/27/24664.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/24664.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2007/02/27/24664.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/24664.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/24664.html</trackback:ping><description>&lt;P&gt;&lt;BR&gt;似乎增加了文件dump的功能，至少在代码中我看到了一些实现。我没有去测试。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;下面是我提取出来的npf.sys(for 2k,xp)和wpcap.dll(包含了Packet.dll,wanpacket.dll,vs2005编译，将npptools变成了delay载入。&lt;/P&gt;
&lt;P&gt;http://blog.vckbase.com/Files/BastEt/winpcap_dll.rar&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/24664.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>vs2003的sp1可供下载，我还没有安装，这是下面的VC++部分的BUG修正列表。</title><link>http://blog.vckbase.com/bastet/archive/2006/08/17/21941.html</link><pubDate>Thu, 17 Aug 2006 08:18:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2006/08/17/21941.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/21941.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2006/08/17/21941.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/21941.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/21941.html</trackback:ping><description>&lt;H3 id=tocHeadRef&gt;Microsoft Visual C++ .NET&lt;/H3&gt;
&lt;SCRIPT type=text/javascript&gt;loadTOCNode(2, 'moreinformation');&lt;/SCRIPT&gt;

&lt;TABLE class=table cellSpacing=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Article number&lt;/TH&gt;
&lt;TH&gt;Article title&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/326459/"&gt;326459&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/326459/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;COleDateTime Comparison Asserts or Returns Incorrect Value&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/327097/"&gt;327097&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/327097/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;BUG: Visual C++ .NET Compiler Generates Two Different Native Types for the Same Boolean Return Type&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/818823/"&gt;818823&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/818823/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The C++ compiler quits unexpectedly when you use a valid negative mov offset statement in inline assembly code in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/821423/"&gt;821423&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/821423/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Bug in the Vector Header File Causes Applications That Use &amp;lt;bool&amp;gt; Specialization to Quit Unexpectedly&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/821711/"&gt;821711&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/821711/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive a "C2352 illegal call of non-static member function" compiler error message when you compile a template declaration in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/822551/"&gt;822551&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/822551/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Wrong Type Definition Appears in Visual Studio .NET Debugger&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/823020/"&gt;823020&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/823020/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;Compiler-Optimized Code May Cause Loops to Terminate Early&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/823071/"&gt;823071&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/823071/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The bool Type Does Not Marshal Correctly from Unmanaged Code&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/823457/"&gt;823457&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/823457/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The COleDateTime::SetDate method does not return an invalid status on an incorrect date in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/823879/"&gt;823879&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/823879/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Merge modules can only be installed in the application folder in a Setup project in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/823903/"&gt;823903&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/823903/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Controls Lose the Caption in the Dialog Editor&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/824580/"&gt;824580&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/824580/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;BUG: The Visual Studio .NET IDE stops responding when you edit source code&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/824647/"&gt;824647&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/824647/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A debug assertion occurs when a Windows Forms control is hosted on an MFC form in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/828100/"&gt;828100&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/828100/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: "The parameter is incorrect" error message when you open a file from a CD-ROM in a Visual C++ MFC application that was created in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/828734/"&gt;828734&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/828734/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;Visual Studio .NET 2003 Stops Responding During the Solution Build Process if You Have Compuware DriverStudio Installed&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/829131/"&gt;829131&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/829131/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;BUG: The $(ItemPath) Macro Resolves Some Path Names Incorrectly&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/829318/"&gt;829318&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/829318/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Controls are lost when you open or you switch views in a Managed C++ Windows Forms project&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/830890/"&gt;830890&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/830890/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;Call to the ATL __unhook Statement Returns E_FAIL&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831380/"&gt;831380&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831380/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A Visual C++ 2003 MFC Application quits silently when the OnDraw function is used and optimization is turned on&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831536/"&gt;831536&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831536/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Changes to a bitmap resource are lost when the bitmap location is moved to a different folder in a Visual C# .NET solution&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831537/"&gt;831537&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831537/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;The compiler may generate incorrect assembly code for templated classes that do not have a default constructor&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831560/"&gt;831560&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831560/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: IDE Disappears When You Are Editing Attributes&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831588/"&gt;831588&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831588/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The "catch by" reference does not work with the copy constructor that is defined in your Visual C++ .NET 2003 application&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831875/"&gt;831875&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831875/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Buffer overrun when you compile Visual C++ source code&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/831995/"&gt;831995&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/831995/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive a "LNK2016" error message when you link to an application or a DLL that has many exports&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/832230/"&gt;832230&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/832230/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The COleDateTime object returns an Invalid status for a valid date in an MFC application that was created by using Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/832904/"&gt;832904&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/832904/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: If you turn on optimization, your generated code may not be correct&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/833550/"&gt;833550&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/833550/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The resource ID appears instead of the resource name for dialog resources after you check out a project from source control&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/834155/"&gt;834155&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/834155/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The IDE quits unexpectedly when you move a folder from one project to another in Solution Explorer&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/834332/"&gt;834332&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/834332/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive an "LNK1106: invalid file or disk full" error message when you build a project in Visual C++ .NET&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/834421/"&gt;834421&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/834421/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You may receive results that are not correct when you perform mathematical computations that involve floating point arithmetic in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/834830/"&gt;834830&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/834830/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A function definition is added to the wrong .cpp file in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/835289/"&gt;835289&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/835289/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Incorrect code is generated when you do an __int64 type data comparison in the debug build of a Visual C++ .NET application in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/835428/"&gt;835428&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/835428/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;MFC 7.1 cannot register some components in your MFC application if you specify a NULL external_name parameter&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/835516/"&gt;835516&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/835516/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;You receive a prompt to check out unnecessary files when you add a method to an interface in an MFC project that has ATL support in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/836844/"&gt;836844&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/836844/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You may experience a TypeLoadException exception when you use Managed Extensions for C++ to implement an interface that is defined in another assembly in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/837421/"&gt;837421&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/837421/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive an access violation in std::ios_base under low memory conditions&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/837437/"&gt;837437&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/837437/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;You receive a "C1060: out of heap space" error message when you compile a very large project by using the Visual C++ .NET 2003 compiler&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/837683/"&gt;837683&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/837683/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The Implement Connection Point Wizard generates the wrong code for a custom event interface in Visual Studio .NET&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/837895/"&gt;837895&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/837895/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: An access violation occurs under low memory conditions in your Visual C++ .NET application&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/838190/"&gt;838190&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/838190/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;ActiveX controls may not be created during run time in a Visual C++ .NET 2003 application&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/838388/"&gt;838388&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/838388/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The Format property of the DateTimePicker control reverts to Short Date in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/839820/"&gt;839820&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/839820/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;BUG: The UP ARROW key does not work correctly when you use an ActiveX control together with grouped option buttons in an MFC form view&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/839821/"&gt;839821&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/839821/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive an error C1001 error message when you compile a project that uses Standard Template Library code in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/839998/"&gt;839998&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/839998/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Error C2555 occurs when you compile code by using Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/840873/"&gt;840873&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/840873/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;The IntelliSense feature does not work for the IXMLDOMDocumentPtr smart pointer&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/840874/"&gt;840874&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/840874/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Microsoft Foundation Class ActiveX control that is built with Visual C++ .NET 2003 cannot be used in Visual Fox Pro 6.0&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/840879/"&gt;840879&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/840879/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Error C1001 is generated when you compile a throw statement in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/841605/"&gt;841605&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/841605/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You may experience unpredictable results when files that are larger than 4 GB are read in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/841629/"&gt;841629&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/841629/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The compiler does not call an overridden copy constructor in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/841772/"&gt;841772&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/841772/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The release build of a Visual C++ .NET 2003 application does not initialize arrays as they were defined&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/841816/"&gt;841816&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/841816/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The Atl71.dll file causes a memory leak in the AtlAxWindowProc class in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/842662/"&gt;842662&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/842662/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive a "Wrong parameter" error message when you save a C++ header file in the German version of Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/842748/"&gt;842748&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/842748/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The GetStatus function of the COleStreamFile object returns Invalid for valid data in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/843148/"&gt;843148&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/843148/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Dynamic initialization does not work as expected in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/867638/"&gt;867638&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/867638/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Shell operations that are processed by using DDE do not work as expected in the Microsoft Foundation Classes&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/872941/"&gt;872941&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/872941/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You may experience inaccurate results when you compile a project in Visual Studio .NET 2003 with either the /Og or the /Ob2 flags for optimization and then try to perform floating-point operations&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/872945/"&gt;872945&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/872945/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Managed C++ project compiler may return error messages in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/873412/"&gt;873412&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/873412/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A value that is not valid is returned when you select an option button by using an arrow key in a Visual C++ .NET 2003 MFC application&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/873416/"&gt;873416&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/873416/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Byte values are not swapped correctly when you turn on the /Og code optimization option or the /O2 code optimization option in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/873443/"&gt;873443&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/873443/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Your IDE may stop responding when you try to display __based pointer member variable information in the Watch window in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/883655/"&gt;883655&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/883655/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive a "Fatal error C1204: compiler limit: internal structure overflow" error message when you compile a file that contains many classes, functions, variables, and namespaces in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/883657/"&gt;883657&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/883657/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The CDatabase::Connect method passes an incorrect buffer size to the SQLDriverConnect function in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/884030/"&gt;884030&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/884030/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A Microsoft Foundation Class (MFC) program that was created in Visual Studio .NET 2003 unexpectedly quits when you try to close it&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/884031/"&gt;884031&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/884031/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Your application may crash when you call the COleUILinkInfo::GetNextLink method in Visual Studio .NET&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/884879/"&gt;884879&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/884879/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The Tab order does not work as you expect when an MFC dialog box contains an ActiveX control in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/884888/"&gt;884888&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/884888/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive the "fatal error C1509" error message when you compile a Microsoft Visual C++ application that contains a large function with exception handling enabled in Microsoft Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/887185/"&gt;887185&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/887185/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Incorrect code is generated when you compile a Visual C++ .NET 2003 application that contains an inline method that accesses a static variable&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/888248/"&gt;888248&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/888248/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: It takes longer than expected to load an MFC program that was written in Visual Studio .NET 2003 or multiple copies of the Msvcr71.dll and Mfc71u.dll files are loaded into memory&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/888256/"&gt;888256&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/888256/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Error message when you try to compile an application that is built by using Visual C++ .NET 2003: "Internal compiler error"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/889095/"&gt;889095&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/889095/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: An MFC application stops running when a thread deadlock condition occurs in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/890940/"&gt;890940&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/890940/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The strupr function may not convert strings to uppercase in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/892086/"&gt;892086&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/892086/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Application leaks a handle when you call the CRT _popen function in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/893755/"&gt;893755&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/893755/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: All the resource files are rebuilt when you rebuild a Visual C++ .NET 2003 project in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/894084/"&gt;894084&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/894084/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Files that are pasted in Windows Explorer may contain the same data when you have multiple file streams in an MFC-based application that was written in Visual C++ .NET&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/894797/"&gt;894797&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/894797/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The Gdiplus.dll file is not updated as expected when you install a Visual Studio .NET 2003 project on a computer that is running Windows Millennium Edition, Windows 98, or Windows 95&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/895188/"&gt;895188&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/895188/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The focus of an ActiveX control in a group box may unexpectedly move to another group box in the dialog box of an MFC application that you develop in Visual C++ .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/899345/"&gt;899345&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/899345/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: Error message when a string parameter contains Japanese characters in Visual Studio .NET 2003: "[fatal error C1001: Internal compiler error]"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/900410/"&gt;900410&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/900410/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You may receive an "Optimization failed" error message when you build a C++ application that uses the &amp;lt;= logical operator in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/900811/"&gt;900811&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/900811/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: The resulting application generates incorrect calculation results when you use Visual Studio .NET 2003 to build a Visual C++ project that performs calculations&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/900925/"&gt;900925&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/900925/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: An access violation may occur when you try to read a .pdb file by using the Debug Interface Access SDK that is included with Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/901374/"&gt;901374&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/901374/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A form may take a long time to open when the form contains lots of controls in the Visual C++ .NET 2003 designer&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/902338/"&gt;902338&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/902338/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A Microsoft Foundation Classes (MFC) application that you create in Visual Studio .NET 2003 and that uses the CStringArray class and the CStringData class may unexpectedly close&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/903075/"&gt;903075&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/903075/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: An additional line appears at the start of the message body when you build MFC ISAPI extensions in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/907989/"&gt;907989&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/907989/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: A form that contains lots of controls or member variables takes a long time to load and you receive an error message when you try to open the form in Design view in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/908959/"&gt;908959&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/908959/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You receive an error message when you use the Bscmake.exe utility to create a browse information file in Visual Studio .NET 2003&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A class=KBlink href="http://support.microsoft.com/kb/909141/"&gt;909141&lt;/A&gt;&lt;SPAN class=pLink&gt; (http://support.microsoft.com/kb/909141/)&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;FIX: You may receive an error message when you try to run an application that is built on the ATL framework on Windows 2000 or on an earlier version&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;BR&gt;下载地点：&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=69d2219f-ce82-46a5-8aec-072bd4bb955e"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=69d2219f-ce82-46a5-8aec-072bd4bb955e&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/21941.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>ntdll中函数的头文件和库文件</title><link>http://blog.vckbase.com/bastet/archive/2006/05/30/20373.html</link><pubDate>Tue, 30 May 2006 07:30:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2006/05/30/20373.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/20373.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2006/05/30/20373.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/20373.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/20373.html</trackback:ping><description>&lt;P&gt;&lt;A href="http://blog.vckbase.com/Files/BastEt/ntdllsdk.rar"&gt;http://blog.vckbase.com/Files/BastEt/ntdllsdk.rar&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;有问题直接跟。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/20373.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>GetTickCount的实现</title><link>http://blog.vckbase.com/bastet/archive/2006/04/22/19691.html</link><pubDate>Sat, 22 Apr 2006 03:02:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2006/04/22/19691.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/19691.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2006/04/22/19691.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/19691.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/19691.html</trackback:ping><description>&lt;P&gt;#define WIN32_LEAN_AND_MEAN&lt;BR&gt;#include &amp;lt;windows.h&amp;gt;&lt;BR&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;
&lt;P&gt;#define KI_USER_SHARED_DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7FFE0000&lt;BR&gt;#define SharedUserData&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)&lt;/P&gt;
&lt;P&gt;typedef struct _KSYSTEM_TIME&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;ULONG LowPart;&lt;BR&gt;&amp;nbsp;LONG High1Time;&lt;BR&gt;&amp;nbsp;LONG High2Time;&lt;BR&gt;} KSYSTEM_TIME, *PKSYSTEM_TIME;&lt;/P&gt;
&lt;P&gt;typedef enum _NT_PRODUCT_TYPE&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;NtProductWinNt = 1,&lt;BR&gt;&amp;nbsp;NtProductLanManNt,&lt;BR&gt;&amp;nbsp;NtProductServer&lt;BR&gt;} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;&lt;/P&gt;
&lt;P&gt;//&lt;BR&gt;// Maximum Processor Features supported in KUSER_SHARED_DATA&lt;BR&gt;//&lt;BR&gt;#define PROCESSOR_FEATURE_MAX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64&lt;/P&gt;
&lt;P&gt;typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;StandardDesign,&lt;BR&gt;&amp;nbsp;NEC98x86,&lt;BR&gt;&amp;nbsp;EndAlternatives&lt;BR&gt;} ALTERNATIVE_ARCHITECTURE_TYPE;&lt;/P&gt;
&lt;P&gt;#define MAX_WOW64_SHARED_ENTRIES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;
&lt;P&gt;typedef struct _KUSER_SHARED_DATA&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;ULONG TickCountLowDeprecated;&lt;BR&gt;&amp;nbsp;ULONG TickCountMultiplier;&lt;BR&gt;&amp;nbsp;volatile KSYSTEM_TIME InterruptTime;&lt;BR&gt;&amp;nbsp;volatile KSYSTEM_TIME SystemTime;&lt;BR&gt;&amp;nbsp;volatile KSYSTEM_TIME TimeZoneBias;&lt;BR&gt;&amp;nbsp;USHORT ImageNumberLow;&lt;BR&gt;&amp;nbsp;USHORT ImageNumberHigh;&lt;BR&gt;&amp;nbsp;WCHAR NtSystemRoot[260];&lt;BR&gt;&amp;nbsp;ULONG MaxStackTraceDepth;&lt;BR&gt;&amp;nbsp;ULONG CryptoExponent;&lt;BR&gt;&amp;nbsp;ULONG TimeZoneId;&lt;BR&gt;&amp;nbsp;ULONG LargePageMinimum;&lt;BR&gt;&amp;nbsp;ULONG Reserved2[7];&lt;BR&gt;&amp;nbsp;NT_PRODUCT_TYPE NtProductType;&lt;BR&gt;&amp;nbsp;BOOLEAN ProductTypeIsValid;&lt;BR&gt;&amp;nbsp;ULONG NtMajorVersion;&lt;BR&gt;&amp;nbsp;ULONG NtMinorVersion;&lt;BR&gt;&amp;nbsp;BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX];&lt;BR&gt;&amp;nbsp;ULONG Reserved1;&lt;BR&gt;&amp;nbsp;ULONG Reserved3;&lt;BR&gt;&amp;nbsp;volatile ULONG TimeSlip;&lt;BR&gt;&amp;nbsp;ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;&lt;BR&gt;&amp;nbsp;LARGE_INTEGER SystemExpirationDate;&lt;BR&gt;&amp;nbsp;ULONG SuiteMask;&lt;BR&gt;&amp;nbsp;BOOLEAN KdDebuggerEnabled;&lt;BR&gt;&amp;nbsp;volatile ULONG ActiveConsoleId;&lt;BR&gt;&amp;nbsp;volatile ULONG DismountCount;&lt;BR&gt;&amp;nbsp;ULONG ComPlusPackage;&lt;BR&gt;&amp;nbsp;ULONG LastSystemRITEventTickCount;&lt;BR&gt;&amp;nbsp;ULONG NumberOfPhysicalPages;&lt;BR&gt;&amp;nbsp;BOOLEAN SafeBootMode;&lt;BR&gt;&amp;nbsp;ULONG TraceLogging;&lt;BR&gt;&amp;nbsp;ULONG Fill0;&lt;BR&gt;&amp;nbsp;ULONGLONG TestRetInstruction;&lt;BR&gt;&amp;nbsp;ULONG SystemCall;&lt;BR&gt;&amp;nbsp;ULONG SystemCallReturn;&lt;BR&gt;&amp;nbsp;ULONGLONG SystemCallPad[3];&lt;BR&gt;&amp;nbsp;union {&lt;BR&gt;&amp;nbsp;&amp;nbsp;volatile KSYSTEM_TIME TickCount;&lt;BR&gt;&amp;nbsp;&amp;nbsp;volatile ULONG64 TickCountQuad;&lt;BR&gt;&amp;nbsp;};&lt;BR&gt;&amp;nbsp;ULONG Cookie;&lt;BR&gt;&amp;nbsp;LONGLONG ConsoleSessionForegroundProcessId;&lt;BR&gt;&amp;nbsp;ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES];&lt;BR&gt;&amp;nbsp;ULONG UserModeGlobalLogging;&lt;BR&gt;} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;DWORD MyGetTickCount()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;return (DWORD)((ULONGLONG)SharedUserData-&amp;gt;TickCountLowDeprecated * SharedUserData-&amp;gt;TickCountMultiplier / 16777216);&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;int main(int argc,char *argv[])&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;DWORD u1=GetTickCount();&lt;BR&gt;&amp;nbsp;DWORD u2=MyGetTickCount();&lt;BR&gt;&amp;nbsp;return 0;&lt;BR&gt;}&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/19691.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>牛在天上飞，我在地下跑。看Alex_Ionescu的介绍有感</title><link>http://blog.vckbase.com/bastet/archive/2006/01/05/16827.html</link><pubDate>Thu, 05 Jan 2006 10:48:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2006/01/05/16827.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/16827.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2006/01/05/16827.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/16827.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/16827.html</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.reactos.org/wiki/index.php/Alex_Ionescu"&gt;http://www.reactos.org/wiki/index.php/Alex_Ionescu&lt;BR&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Early Life &lt;/H2&gt;
&lt;P&gt;Alex Ionescu was born on April 26th, 1986, in the city of Bucharest, Romania. Son of a doctor and an engineer, he took up a passion with computers at the age of six, when he first hacked DOS 4.00's command line parser unsucesfully until the age of seven, when he discovered hex editing. At that time, he was already fluent in QBASIC and was working on password protection programs and graphical shells. &lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=2"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=First_Programming_Experience&gt;&lt;/A&gt;
&lt;H2&gt;First Programming Experience &lt;/H2&gt;
&lt;P&gt;At the age of eight, he emmigrated to Canada with his family and has been living in Montreal, Quebec, Canada ever since. Near that time, he learnt his second programming language, Visual Basic and worked for over four years on a project called WinAlOS, a replacement shell for Windows. It was during this time that he developped a passion for operating system design, and the fact that Visual Basic could only create shells frustrated him. With the advent of V2OS, a hobby Operating System, and after lecturing himself with John Fine's famous OS Design documents, Ionescu made his first contribution in an Operating System Kernel. His work on VB continued however, and by the age of 16, WinAlOS grew into an Office Suite, Programming IDE supporting over 10 scripting languages, and a full featured shell that rivaled Explorer, which included over 50 applets from games to system utilities and multimedia applications. &lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=3"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Beginnings_of_Public_Appearances&gt;&lt;/A&gt;
&lt;H2&gt;Beginnings of Public Appearances &lt;/H2&gt;
&lt;P&gt;After a catastrophic hard-disk failure due to a failed Linux installation which cost Ionescu all his work, he decided to work on a security suite for charity and small-business organizations, which also offered internet cafe management. Baptized Internet Control and Configuration (ICC), it was the first product of his startup company, Relsoft Technologies. The final product was submitted as a school project for the coveted International Baccaulerate Diploma, and was submited to academic judges in Cambridge. Bored with the limitations of Visual Basic, Ionescu got to work on advanced plugins which expanded the features of the suite, as well as posting software on Planet Source Code. He made three submissions, all of which won the "Best Code of the Month" award, as well as wrote numerous articles about NT Architecture, which he had become obsessed with. He did some research on NTFS, and published a private document outlining the entire format of the on-disk structures, after which he started to work on non-malicious virus software, which eventually led him to advanced rootkit development, which hooked parts of the NT Kernel in order to hide information, or modify kernel data to fool the system itself. This work got him even deeper into the Kernel/OS Programming world, and he often thought about re-writing entire parts of the kernel in a rootkit. &lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=4"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Work_Experience&gt;&lt;/A&gt;
&lt;H2&gt;Work Experience &lt;/H2&gt;
&lt;P&gt;Thanks to Rent A Coder, an online outsourcing site, Ionescu was able to find a more stable job for SPAMfighter ApS, a Danish company specializing in Anti-Spam products, where he was the Lead Developper of the Outlook Express plugin. This work was the culmination of his previous Visual Basic experience, as he had to develop plugins which made Visual Basic able to create standard C DLLs, as well as use Assembly code in Visual Basic. Apart from this job, he also took on over 20 other projects on Rent A Coder, where he received 10, the highest possible rating, on all of them. Additionally, he transformed one of the Visual Basic plugins into a retail product, which became Relsoft's first official public product. Over 50 copies have been sold to date. &lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=5"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Beginnings_at_ReactOS&gt;&lt;/A&gt;
&lt;H2&gt;Beginnings at ReactOS &lt;/H2&gt;
&lt;P&gt;Around this time, ReactOS reached 0.2 stage, which now included a much more stable codebase for developpment, as well as a GUI and some basic applications. This immediately piqued Ionescu's interest, and he joined the project during Summer 2004. His first patch added Callback support to the Kernel, which would become needed by later NT5 Drivers. He then spent the next 2 months stubbing every kernel function that was in XP but not yet exported by ReactOS. This task added about 700 new stubs to ReactOS, out of which he personally coded around 150. While his work has focused mainly on Kernel Development, he has been monumental in the creation of the Ancilliary Function Driver DLL (msafd.dll/mswsock.dll) and accelerated the implementation of ReactOS's first working networking system. His other most important contributions include the SYSENTER patch, which singlehandedly improved ReactOS System Call execution speed by 70-80%, and the FreeLoader Patch, which added dynamic loading of the Kernel using the Portable Executable (PE) format. He has also re-written the ReactOS APC and DPC implementations, making them similar to NT's. As of November 2005, a large number of other large kernel patches can be attributed to him, including implementing Guarded Mutexes, Kernel Gates, making the Object Manager more NT compatible, rewriting parts of the Process Manager for Thread/Process Create/Kill and reviewing and fixing hundreds of bugs in the Ex and Ke modules of the kernel. He has finally also been responsible for major changes in the I/O Manager related to event sychronizations of I/O operations, as well as the IRP implementation. &lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=6"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Current_Work&gt;&lt;/A&gt;
&lt;H2&gt;Current Work &lt;/H2&gt;
&lt;P&gt;Alex Ionescu currently does a variety of work in ReactOS which splits up into many directions, usually yielding results only months later. Ionescu is currently re-writing the ReactOS Winsock Libraries for the 0.3.0 release, which will have full networking support. Sometimes, he enjoys taking up smaller projects as well to clean up the air, and he has recently documented his plans on his blog (link available below). Two of these projects include a new Loader (rewrite of Ldr in NTDLL to match XP's new features) and new Kernel Process Manager semantics. Due to his unpredictable nature, Ionescu is known to stop work on a long-term project and quickly implement a completely unrelated feature. He also participates in bug bashes every once in a while, where he spends his time only doing bug fixing. Ionescu's work current work touches the Ke, Ex, Ps and Io subsystems of the NT Kernel. He also still works at SPAMfighter on new versions of the client, and other related work. &lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=7"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Future_Plans&gt;&lt;/A&gt;
&lt;H2&gt;Future Plans &lt;/H2&gt;
&lt;P&gt;Here are Ionescu's future projects: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title="Alex Ionescu/RosNTLDR" href="http://www.reactos.org/wiki/index.php/Alex_Ionescu/RosNTLDR"&gt;RosNTLDR&lt;/A&gt; 
&lt;LI&gt;&lt;A title="Alex Ionescu/RosCSRSS" href="http://www.reactos.org/wiki/index.php/Alex_Ionescu/RosCSRSS"&gt;RosCSRSS&lt;/A&gt; 
&lt;LI&gt;&lt;A title="Alex Ionescu/RosLDR" href="http://www.reactos.org/wiki/index.php/Alex_Ionescu/RosLDR"&gt;RosLDR&lt;/A&gt; 
&lt;LI&gt;&lt;A title="Alex Ionescu/RosGooeySetup" href="http://www.reactos.org/wiki/index.php/Alex_Ionescu/RosGooeySetup"&gt;RosGooeySetup&lt;/A&gt; 
&lt;LI&gt;&lt;A title="Alex Ionescu/MiniROS" href="http://www.reactos.org/wiki/index.php/Alex_Ionescu/MiniROS"&gt;MiniROS&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=8"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Trivia_and_Interests&gt;&lt;/A&gt;
&lt;H2&gt;Trivia and Interests &lt;/H2&gt;
&lt;P&gt;Alex Ionescu has a passion for chemistry and biology (especially organic chemistry! he's got a kick at it! uh huh!) His surroundings are all computer illiterate, including his best of friends. Whenever he is not programming, he is quite childish... Unfortunately, he is not a brilliant man, but a brilliant boy (How sad). By the way folks, psssst!... he wrote all of the article&amp;nbsp;!! (except for the "Trivia and Interests" part) &lt;/P&gt;
&lt;P&gt;That's it that's all folks! &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;
&lt;DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px"&gt;[&lt;A title="Alex Ionescu" href="http://www.reactos.org/wiki/index.php?title=Alex_Ionescu&amp;amp;action=edit&amp;amp;section=9"&gt;edit&lt;/A&gt;]&lt;/DIV&gt;&lt;A name=Links&gt;&lt;/A&gt;
&lt;H2&gt;Links &lt;/H2&gt;
&lt;P&gt;Alex Ionescu can be reached at alex.ionescu@reactos.org. His blog is at: &lt;A class="external free" title="http://blogs.reactos.com/Alex Ionescu/" href="http://blogs.reactos.com/Alex_Ionescu/" rel=nofollow&gt;http://blogs.reactos.com/Alex_Ionescu/&lt;/A&gt; &lt;/P&gt;&lt;!-- Saved in parser cache with key wiki:pcache:idhash:943-0!1!0!0!!en!2 and timestamp 20060104141430 --&gt;
&lt;DIV class=printfooter&gt;Retrieved from "&lt;A href="http://www.reactos.org/wiki/index.php/Alex_Ionescu"&gt;http://www.reactos.org/wiki/index.php/Alex_Ionescu&lt;/A&gt;"&lt;/DIV&gt;&lt;!-- end content --&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/16827.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>win下单进程访问超过4G大小内存</title><link>http://blog.vckbase.com/bastet/archive/2005/12/11/15858.html</link><pubDate>Sun, 11 Dec 2005 03:37:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2005/12/11/15858.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/15858.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2005/12/11/15858.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/15858.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/15858.html</trackback:ping><description>&lt;H1&gt;&lt;A name=base.address_windowing_extensions&gt;&lt;/A&gt;Address Windowing Extensions&lt;/H1&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Address Windowing Extensions&lt;/B&gt; (AWE) is a set of extensions that allows an application to quickly manipulate physical memory greater than 4GB. Certain data-intensive applications, such as database management systems and scientific and engineering software, need access to very large caches of data. In the case of very large data sets, restricting the cache to fit within an application's 2GB of user address space is a severe restriction. In these situations, the cache is too small to properly support the application.&lt;/P&gt;
&lt;H4&gt;&lt;/H4&gt;
&lt;P&gt;
&lt;P&gt;AWE solves this problem by allowing applications to directly address huge amounts of memory while continuing to use 32-bit pointers. AWE allows applications to have data caches larger than 4GB (where sufficient physical memory is present). AWE uses physical nonpaged memory and window views of various portions of this physical memory within a 32-bit virtual address space.&lt;/P&gt;
&lt;P&gt;AWE places a few restrictions on how this memory may be used, primarily because these restrictions allow extremely fast mapping, remapping, and freeing. Fast memory management is important for these potentially enormous address spaces.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Virtual address ranges allocated for the AWE are not sharable with other processes (and therefore not inheritable). In fact, two different AWE virtual addresses within the same process are not allowed to map the same physical page. These restrictions provide fast remapping and cleanup when memory is freed. 
&lt;LI&gt;The physical pages that can be allocated for an AWE region are limited by the number of physical pages present in the machine, since this memory is never paged &amp;#8211; it is locked down until the application explicitly frees it or exits. The physical pages allocated for a given process can be mapped into any AWE virtual region within the same process. Applications that use AWE must be careful not to take so much physical memory that they cause other applications to page excessively or prevent creation of new processes or threads due to lack of resources. Use the &lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/globalmemorystatusex.htm"&gt;&lt;B&gt;GlobalMemoryStatusEx&lt;/B&gt;&lt;/A&gt; function to monitor physical memory use. 
&lt;LI&gt;AWE virtual addresses are always read/write and cannot be protected via calls to &lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/virtualprotect.htm"&gt;&lt;B&gt;VirtualProtect&lt;/B&gt;&lt;/A&gt; (that is, no read-only memory, noaccess memory, guard pages, and the like can be specified). 
&lt;LI&gt;AWE address ranges cannot be used to buffer data for graphics or video calls. 
&lt;LI&gt;An AWE memory range cannot be split, nor can pieces of it be deleted. Instead, the entire virtual address range must be deleted as a unit when deletion is required. This means you must specify MEM_RELEASE when calling &lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/virtualfree.htm"&gt;&lt;B&gt;VirtualFree&lt;/B&gt;&lt;/A&gt;. 
&lt;LI&gt;Applications can map multiple regions simultaneously, provided they do not overlap. 
&lt;LI&gt;Applications that use AWE are not supported in emulation mode. That is, an x86 application that uses AWE functions must be recompiled to run on another processor, whereas most applications can run without recompiling under an emulator on other platforms. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This solution addresses the physical memory issues in a very general, widely applicable manner. Some of the benefits of AWE are:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A small group of new functions is defined to manipulate AWE memory. 
&lt;LI&gt;AWE provides a very fast remapping capability. Remapping is done by manipulating virtual memory tables, not by moving data in physical memory. 
&lt;LI&gt;AWE provides page size granularity appropriate to the processor (for example, 4K on x86), which is more useful to applications than large pages (for example, 2MB or 4MB on x86). &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;An application must have the Lock Pages in Memory privilege to use AWE. To obtain this privilege, an administrator must add &lt;B&gt;Lock Pages in Memory&lt;/B&gt; to the user's &lt;B&gt;User Rights Assignments&lt;/B&gt;. For more information on how to do this, see "User Rights" in the operating system help.&lt;/P&gt;
&lt;P&gt;The following functions make up the Address Windowing Extensions (AWE) API.&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Function&lt;/TH&gt;
&lt;TH&gt;Description&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/virtualalloc.htm"&gt;&lt;B&gt;VirtualAlloc&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/virtualallocex.htm"&gt;&lt;B&gt;VirtualAllocEx&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;Reserve a portion of virtual address space to use for AWE, using MEM_PHYSICAL.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/allocateuserphysicalpages.htm"&gt;&lt;B&gt;AllocateUserPhysicalPages&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;Allocate physical memory for use with AWE.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/mapuserphysicalpages.htm"&gt;&lt;B&gt;MapUserPhysicalPages&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;Map (or invalidate) AWE virtual addresses onto any set of physical pages obtained with &lt;B&gt;AllocateUserPhysicalPages&lt;/B&gt;.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/mapuserphysicalpagesscatter.htm"&gt;&lt;B&gt;MapUserPhysicalPagesScatter&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;Map (or invalidate) AWE virtual addresses onto any set of physical pages obtained with &lt;B&gt;AllocateUserPhysicalPages&lt;/B&gt;, but with finer control than that provided by &lt;B&gt;MapUserPhysicalPages&lt;/B&gt;.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href="ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/memory/base/freeuserphysicalpages.htm"&gt;&lt;B&gt;FreeUserPhysicalPages&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;Free physical memory that was used for AWE.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;就是先分配一块大物理内存(其实就有点像LINUX的HUGETLB一样)，然后通过一个类似窗口的东东不停的映射。MSDN上说用在像数据库这种吃内存的地方可能会比较好。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;就普通的服务器来说，我觉得也可以加快内存访问速度(当然不一定要超过4G内存啦)，因为这是物理内存啊，可能还不会被swap.&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/15858.html" width = "1" height = "1" /&gt;</description></item></channel></rss>