Index: /trunk/include/cf_debug.h
===================================================================
--- /trunk/include/cf_debug.h	(revision 13)
+++ /trunk/include/cf_debug.h	(revision 14)
@@ -17,13 +17,22 @@
 
 #ifdef _DEBUG
+# define CF_UPDATE_CTX(__ctx)										\
+	CF_Debug_UpdateCtx (__ctx,__FILE__,__func__,__LINE__)
 # define CF_DEBUG_TRACE(__ctx,__fmt,...)							\
-	CF_Debug_Trace (__ctx,__fmt,##__VA_ARGS__)
+	do {															\
+	CF_UPDATE_CTX (__ctx);											\
+	CF_Debug_Trace (__ctx,__fmt,##__VA_ARGS__);						\
+	} while (0)
 # define CF_DEBUG_TRACE_BIN(__ctx,__bin,__len,__fmt,...)			\
-	CF_Debug_Trace (__ctx,__bin,__len,__fmt,##__VA_ARGS__)
+	do {															\
+	CF_UPDATE_CTX (__ctx);											\
+	CF_Debug_Trace (__ctx,__bin,__len,__fmt,##__VA_ARGS__);			\
+	} while (0)
 # define CF_DEBUG_CALLSTACK_PUSH(__ctx)								\
-	CF_Debug_CallstackPush (__ctx,__FILE__,__func__,__LINE__)
+	CF_Debug_CallStackPush (__ctx,__FILE__,__func__,__LINE__)
 # define CF_DEBUG_CALLSTACK_POP										\
-	CF_Debug_CallstackPop
+	CF_Debug_CallStackPop
 #else // #ifdef _DEBUG
+# define CF_UPDATE_CTX(__ctx)
 # define CF_DEBUG_TRACE(__ctx,__fmt,...)
 # define CF_DEBUG_TRACE_BIN(__ctx,__bin,__len,__fmt,...)
@@ -34,4 +43,5 @@
 typedef void *	CF_Debug_Ctx;
 typedef struct cf_debug_callStack {
+	char	file[NAME_LENGTH + 1];
 	char	function[NAME_LENGTH + 1];
 	int		line;
@@ -51,4 +61,10 @@
 CF_Debug_SetOutputFD	(CF_Debug_Ctx	ctx,
 						 int			fd);
+
+CF_EXPORT int
+CF_Debug_UpdateCtx		(CF_Debug_Ctx	ctx,
+						 const char		* file,
+						 const char		* func,
+						 const int		line);
 
 CF_EXPORT int
Index: /trunk/src/cf_debug.c
===================================================================
--- /trunk/src/cf_debug.c	(revision 13)
+++ /trunk/src/cf_debug.c	(revision 14)
@@ -49,14 +49,16 @@
 } S_CF_DEBUG_CTX, CF_DEBUG_CTX;
 
-void
+int
 CF_Debug_Local_Print (CF_DEBUG_CTX	* ctx,
 					  const char	* fmt,
 					  va_list		valist)
 {
-	fprintf (GET_CTX_OSTREAM (ctx), "[DEBUG][%s %s(%d)] ",
+	fprintf (GET_CTX_OSTREAM (ctx), "[DEBUG][%s:%d][%s] ",
 									ctx->file,
-									ctx->func,
-									ctx->line);
+									ctx->line,
+									ctx->func);
 	vfprintf (GET_CTX_OSTREAM (ctx), fmt, valist);
+
+	return CF_OK;
 }
 
@@ -129,4 +131,21 @@
 		return CF_ERROR_DEBUG_SET_OUTPUT_FD;
 	}
+
+	return CF_OK;
+}
+
+int
+CF_Debug_UpdateCtx (CF_Debug_Ctx	ctx,
+					const char		* file,
+					const char		* func,
+					const int		line)
+{
+	CF_DEBUG_CTX * context = (CF_DEBUG_CTX *) ctx;
+
+	CHECK_INVALID_CTX (ctx);
+
+	strncpy (context->file, file, strlen (file));
+	strncpy (context->func, func, strlen (func));
+	context->line = line;
 
 	return CF_OK;
@@ -154,9 +173,10 @@
 				   const char			* fmt, ...)
 {
-	int				i, j;
-	va_list			valist;
-	FILE			* fp = GET_CTX_OSTREAM (ctx);
-
-	CHECK_INVALID_CTX (ctx);
+	int		i, j;
+	va_list	valist;
+	FILE	* fp = NULL;
+
+	CHECK_INVALID_CTX (ctx);
+	fp = GET_CTX_OSTREAM (ctx); 
 
 	va_start (valist, fmt);
@@ -210,8 +230,5 @@
 	context->callstack.caller = push;
 
-	/* set current context */
-	sprintf (context->file, "%s", file);
-	sprintf (context->func, "%s", func);
-	context->line = line;
+	CF_Debug_UpdateCtx (ctx, file, func, line);
 
 	return CF_OK;
@@ -233,4 +250,5 @@
 	if (callstack != NULL)
 	{
+		sprintf (callstack->file    , "%s", pop->file);
 		sprintf (callstack->function, "%s", pop->func);
 		callstack->line = pop->line;
@@ -244,10 +262,11 @@
 	if (pop->caller != NULL)
 	{
-		sprintf (context->file, "%s", pop->caller->file);
-		sprintf (context->func, "%s", pop->caller->func);
-		context->line = pop->caller->line;
-		context->callstack.caller = pop->caller;
-	}
-
+		CF_Debug_UpdateCtx (ctx,
+							pop->caller->file,
+							pop->caller->func, 
+							pop->caller->line);
+	}
+
+	context->callstack.caller = pop->caller;
 	free (pop);
 
Index: /trunk/src/cf_file.c
===================================================================
--- /trunk/src/cf_file.c	(revision 13)
+++ /trunk/src/cf_file.c	(revision 14)
@@ -5,6 +5,17 @@
 
 #ifdef _WIN32
+# include <stdio.h>
 # include <io.h>
-# include <stdio.h>
+# include <sys/stat.h>
+
+# define S_IWUSR		_S_IWRITE
+# define S_IRUSR		_S_IREAD
+# define S_IXUSR		_S_IEXEC
+# define S_IRGRP		0x00000000
+# define S_IWGRP		0x00000000
+# define S_IXGRP		0x00000000
+# define S_IROTH		0x00000000
+# define S_IWOTH		0x00000000
+# define S_IXOTH		0x00000000
 #else // #ifdef _WIN32
 # include <unistd.h>
@@ -26,5 +37,5 @@
 CF_File_Create (const char * path)
 {
-	int result = open (path, O_CREAT | O_WRONLY | O_TRUNC, 0);
+	int result = open (path, O_CREAT | O_WRONLY | O_TRUNC, S_IWUSR | S_IRUSR | S_IRGRP | S_IROTH);
 
 	if (result < 0)
Index: /trunk/src/cf_log.c
===================================================================
--- /trunk/src/cf_log.c	(revision 13)
+++ /trunk/src/cf_log.c	(revision 14)
@@ -2,4 +2,8 @@
  * cf_log.c
  */
+#ifdef _WIN32
+# define _USE_32BIT_TIME_T
+#endif
+
 #include "cf_log.h"
 #include "cf_file.h"
@@ -14,4 +18,5 @@
 
 #ifdef _WIN32
+# define snprintf		_snprintf
 # include <Windows.h>
 #else // #ifdef _WIN32
@@ -24,10 +29,8 @@
 
 #define LOCK_LOG_CTX(__ctx)						\
-	if (CF_Mutex_Lock (&__ctx->mutex) < 0)		\
-		return CF_ERROR_LOG_LOCK_CTX
+	CF_Mutex_Lock (&__ctx->mutex)
 
 #define UNLOCK_LOG_CTX(__ctx)					\
-	if (CF_Mutex_Unlock (&__ctx->mutex) < 0)	\
-		return CF_ERROR_LOG_UNLOCK_CTX
+	CF_Mutex_Unlock (&__ctx->mutex)
 
 #define CF_LOG_BUFFER_DEFAULT_SIZE		128 * 1024
@@ -146,7 +149,10 @@
 	CF_Log_Local_GetTime (&dt);
 
-	sprintf (buffer, "%02d-%02d-%02d %02d:%02d:%02d.%03d",
-					 dt.year, dt.month, dt.day, 
-					 dt.hour, dt.min, dt.sec, dt.usec);
+	
+
+	snprintf (buffer, strlen ("0000-00-00 00:00:00.000"),
+			  "%02d-%02d-%02d %02d:%02d:%02d.%03d",
+			  dt.year, dt.month, dt.day,
+			  dt.hour, dt.min, dt.sec, dt.usec);
 
 	return CF_OK;
@@ -287,6 +293,5 @@
 	if (context->buffer != NULL)
 	{
-		/* FIXME : write residual data in buffer */
-
+		CF_Log_Flush (ctx);
 		free (context->buffer);
 		context->buffer = NULL;
Index: /trunk/src/makefile
===================================================================
--- /trunk/src/makefile	(revision 13)
+++ /trunk/src/makefile	(revision 14)
@@ -43,5 +43,5 @@
 					cf_log			\
 
-LIB_NAME		= cf
+TARGET_NAME		= cf
 
 CC				= gcc
@@ -57,5 +57,5 @@
 TARGET_PATH		= ../_build
 OBJ_PATH		= ../_obj
-TARGET			= $(TARGET_PATH)/lib$(LIB_NAME).$(EXT_SHARED)
+TARGET			= $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
 SRCS			= $(addsuffix .$(SOURCE_TYPE),$(FILES))
 OBJS			= $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
Index: /trunk/test/makefile
===================================================================
--- /trunk/test/makefile	(revision 14)
+++ /trunk/test/makefile	(revision 14)
@@ -0,0 +1,99 @@
+#----------------------------------------------------------
+# platform
+#----------------------------------------------------------
+PLATFORM	= 64
+DEBUG		= true
+
+#----------------------------------------------------------
+# load system info
+#----------------------------------------------------------
+ifeq ($(PLATFORM), 64)
+	PLATFORM	= -m64
+else
+	PLATFORM	= -m32
+endif
+
+UNAME_A		:= $(shell uname -a)
+EXT_EXECUTE	= ex
+EXT_SHARED	= so
+EXT_STATIC	= a
+
+ifeq ($(findstring CYGWIN,$(UNAME_A)),CYGWIN)
+	# forced
+	PLATFORM	= -m32
+	EXT_EXECUTE = exe
+	EXT_SHARED	= dll
+	EXT_STATIC	= lib
+endif
+
+ifeq ($(DEBUG), true)
+	DEFS = -D_DEBUG
+	FLAG = -g
+else
+	DEFS = 
+	FLAG = 
+endif
+
+#----------------------------------------------------------
+# env
+#----------------------------------------------------------
+FILES			=	\
+					test			\
+
+TARGET_NAME		= test
+
+CC				= gcc
+LD				= gcc
+AR				= ar
+CDEFS			= $(DEFS) -DLINUX -DUNIX -DMTHREAD -D_REENTRANT
+CFLAGS			= $(PLATFORM) $(FLAG) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
+LDFLAGS			= $(PLATFORM) -Wl,-Bsymbolic
+SHARED_FLAGS	= $(LDFLAGS) -shared
+ARFLAGS			= rc
+
+SOURCE_TYPE		= c
+TARGET_PATH		= ../_build
+OBJ_PATH		= ../_obj
+TARGET			= $(TARGET_PATH)/$(TARGET_NAME).$(EXT_EXECUTE)
+SRCS			= $(addsuffix .$(SOURCE_TYPE),$(FILES))
+OBJS			= $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
+
+INCLUDES		= -I../include
+LIBS			= -L$(TARGET_PATH) -lcf -lpthread
+
+LIB_CF			= $(TARGET_PATH)/lib$(TARGET_PATH).$(EXT_SHARED)
+
+#----------------------------------------------------------
+# label
+#----------------------------------------------------------
+all: $(OBJ_PATH) $(TARGET_PATH) $(LIB_CF) $(TARGET)
+	@echo ========== Complete CHEROXY compilation ==========
+$(TARGET_PATH): dummy
+	@if [ ! -d $@ ] ; then mkdir $@ ; fi
+$(OBJ_PATH): dummy
+	@if [ ! -d $@ ] ; then mkdir $@ ; fi
+$(LIB_CF): dummy
+	cd ../src; make all;
+
+# link
+$(TARGET_PATH)/%.$(EXT_EXECUTE): $(OBJS)
+	$(LD) $(LDFLAGS) $(LIBS) -o $@ $?
+
+$(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS)
+	$(LD) $(SHARED_FLAGS) -o $@ $?
+
+$(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS)
+	$(AR) $(ARFLAGS) -o $@ $?
+
+# compile
+$(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
+	$(CC) $(CFLAGS) $(CDEFS) $(INCLUDES) -o $@ -c $?
+
+clean: dummy
+	rm -rf log.txt
+	rm -rf $(TARGET_PATH) $(OBJ_PATH)
+
+dummy:
+
+test: all
+	LD_LIBRARY_PATH=$(TARGET_PATH) $(TARGET)
Index: /trunk/test/test.c
===================================================================
--- /trunk/test/test.c	(revision 14)
+++ /trunk/test/test.c	(revision 14)
@@ -0,0 +1,57 @@
+/*
+ * cf.c
+ */
+#include "cf_file.h"
+#include "cf_debug.h"
+#include "cf_log.h"
+#include "cf_socket.h"
+#include "cf_thread.h"
+
+CF_Debug_Ctx		gDebugCtx;
+CF_Debug_CallStack	gDebugCallstack;
+
+CF_Log_Ctx			gLogCtx;
+
+void func1 (const char * message)
+{
+	CF_DEBUG_CALLSTACK_PUSH (gDebugCtx);
+
+
+	CF_DEBUG_CALLSTACK_POP (gDebugCtx, &gDebugCallstack);
+	CF_Log_Write (gLogCtx, "test log",
+							"here is the end of function [file:%s line:%d func:%s]\n",
+							gDebugCallstack.file,
+							gDebugCallstack.line,
+							gDebugCallstack.function);
+}
+
+int main (int argc, char ** argv)
+{
+	gDebugCtx	= CF_Debug_CreateCtx ();
+	gLogCtx		= CF_Log_CreateCtx ("./log.txt", CF_LOG_BUFFER_DEFAULT);
+
+	if (gDebugCtx == NULL)
+	{
+		CF_DEBUG_TRACE (gDebugCtx, "create debug ctx error\n");
+	}
+
+	if (gLogCtx == NULL)
+	{
+		CF_DEBUG_TRACE (gDebugCtx, "create log ctx error\n");
+	}
+
+	CF_DEBUG_CALLSTACK_PUSH (gDebugCtx);
+
+	func1 ("merong kkkkkkkkkkk");
+
+	CF_DEBUG_CALLSTACK_POP (gDebugCtx, &gDebugCallstack);
+	CF_DEBUG_TRACE (gDebugCtx, "here is the end of function [file:%s line:%d func:%s]\n",
+								gDebugCallstack.file,
+								gDebugCallstack.line,
+								gDebugCallstack.function);
+
+	CF_Log_DestroyCtx (gLogCtx);
+	CF_Debug_DestroyCtx (gDebugCtx);
+
+	return 0;
+}
Index: unk/windows/libcf.ln
===================================================================
--- /trunk/windows/libcf.ln	(revision 13)
+++ 	(revision )
@@ -1,20 +1,0 @@
-﻿
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcf", "libcf/libcf.vcproj", "{E5FB2D95-3841-464C-B23F-94ADA4499FE6}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{E5FB2D95-3841-464C-B23F-94ADA4499FE6}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E5FB2D95-3841-464C-B23F-94ADA4499FE6}.Debug|Win32.Build.0 = Debug|Win32
-		{E5FB2D95-3841-464C-B23F-94ADA4499FE6}.Release|Win32.ActiveCfg = Release|Win32
-		{E5FB2D95-3841-464C-B23F-94ADA4499FE6}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
Index: /trunk/windows/libcf.sln
===================================================================
--- /trunk/windows/libcf.sln	(revision 13)
+++ /trunk/windows/libcf.sln	(revision 14)
@@ -2,5 +2,10 @@
 Microsoft Visual Studio Solution File, Format Version 10.00
 # Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcf", "libcf/libcf.vcproj", "{E5FB2D95-3841-464C-B23F-94ADA4499FE6}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCF", "libcf\libcf.vcproj", "{E5FB2D95-3841-464C-B23F-94ADA4499FE6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test\test.vcproj", "{D344FA91-7B7A-4390-9CA5-E1ABCCECA3A2}"
+	ProjectSection(ProjectDependencies) = postProject
+		{E5FB2D95-3841-464C-B23F-94ADA4499FE6} = {E5FB2D95-3841-464C-B23F-94ADA4499FE6}
+	EndProjectSection
 EndProject
 Global
@@ -14,4 +19,8 @@
 		{E5FB2D95-3841-464C-B23F-94ADA4499FE6}.Release|Win32.ActiveCfg = Release|Win32
 		{E5FB2D95-3841-464C-B23F-94ADA4499FE6}.Release|Win32.Build.0 = Release|Win32
+		{D344FA91-7B7A-4390-9CA5-E1ABCCECA3A2}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D344FA91-7B7A-4390-9CA5-E1ABCCECA3A2}.Debug|Win32.Build.0 = Debug|Win32
+		{D344FA91-7B7A-4390-9CA5-E1ABCCECA3A2}.Release|Win32.ActiveCfg = Release|Win32
+		{D344FA91-7B7A-4390-9CA5-E1ABCCECA3A2}.Release|Win32.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: /trunk/windows/libcf/libcf.vcproj
===================================================================
--- /trunk/windows/libcf/libcf.vcproj	(revision 13)
+++ /trunk/windows/libcf/libcf.vcproj	(revision 14)
@@ -22,5 +22,5 @@
 			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="2"
-			CharacterSet="1"
+			CharacterSet="0"
 			>
 			<Tool
@@ -95,5 +95,5 @@
 			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="2"
-			CharacterSet="1"
+			CharacterSet="0"
 			WholeProgramOptimization="1"
 			>
Index: /trunk/windows/test/test.vcproj
===================================================================
--- /trunk/windows/test/test.vcproj	(revision 14)
+++ /trunk/windows/test/test.vcproj	(revision 14)
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="ks_c_5601-1987"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test"
+	ProjectGUID="{D344FA91-7B7A-4390-9CA5-E1ABCCECA3A2}"
+	RootNamespace="test"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\include"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\include"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="¼Ò½º ÆÄÀÏ"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\test\test.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Çì´õ ÆÄÀÏ"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="¸®¼Ò½º ÆÄÀÏ"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File
+				RelativePath="..\..\test\makefile"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
