修复代码问题和VC工程

整理VC工程文件;修改了MIME解析中的问题
This commit is contained in:
zsxxsz 2014-07-21 22:32:11 +08:00
parent d2ae4d6db8
commit 9ce5d0d2c2
63 changed files with 4278 additions and 164 deletions

Binary file not shown.

View File

@ -16,12 +16,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml", "lib_acl_cpp\samples\
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samples\fstream\fstream.vcproj", "{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
@ -231,20 +225,14 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2003.vcproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2003.vcproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl_cpp", "lib_acl_cpp\lib_acl_cpp_vc2003.vcproj", "{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "singleton", "lib_acl_cpp\samples\singleton\singleton.vcproj", "{128791D9-6787-471C-9A0C-0DCAE53F4911}"
ProjectSection(ProjectDependencies) = postProject
@ -379,6 +367,27 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connect_manager", "lib_acl_
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string1\string.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string2", "lib_acl_cpp\samples\string\string2\string2.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string3", "lib_acl_cpp\samples\string\string3\string3.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@ -413,14 +422,6 @@ Global
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release.Build.0 = Release|Win32
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll.ActiveCfg = Releasedll|Win32
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.Build.0 = Releasedll|Win32
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug.ActiveCfg = Debug|Win32
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug.Build.0 = Debug|Win32
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll.ActiveCfg = DebugDll|Win32
@ -885,6 +886,30 @@ Global
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Release.Build.0 = Release|Win32
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Releasedll.ActiveCfg = ReleaseDll|Win32
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Releasedll.Build.0 = ReleaseDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.Build.0 = Releasedll|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection

View File

@ -326,13 +326,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\s
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string_vc2008.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread", "lib_acl_cpp\samples\thread\thread_vc2008.vcproj", "{5BE9D250-12FD-48D2-B918-035E079E5BD0}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
@ -400,6 +393,29 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connect_manager", "lib_acl_
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "string", "string", "{E6FFFC99-AF28-4DD2-ACCF-7003498DF653}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string1\string_vc2008.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string2", "lib_acl_cpp\samples\string\string2\string2_vc2008.vcproj", "{3538D216-868E-4F9A-BC88-57A1A8F757F9}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string3", "lib_acl_cpp\samples\string\string3\string3_vc2008.vcproj", "{3FC3D573-2A24-42F6-927F-5E4631CF48C8}"
ProjectSection(ProjectDependencies) = postProject
{64BF4D83-53BB-4045-8522-9FF9F73B14D4} = {64BF4D83-53BB-4045-8522-9FF9F73B14D4}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -768,14 +784,6 @@ Global
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Release|Win32.Build.0 = Release|Win32
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
{5BE9D250-12FD-48D2-B918-035E079E5BD0}.Debug|Win32.ActiveCfg = Debug|Win32
{5BE9D250-12FD-48D2-B918-035E079E5BD0}.Debug|Win32.Build.0 = Debug|Win32
{5BE9D250-12FD-48D2-B918-035E079E5BD0}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
@ -862,6 +870,30 @@ Global
{F7B28783-B507-42D8-BB2B-4B61E2B49FB7}.Release|Win32.Build.0 = Release|Win32
{F7B28783-B507-42D8-BB2B-4B61E2B49FB7}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
{F7B28783-B507-42D8-BB2B-4B61E2B49FB7}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.Debug|Win32.ActiveCfg = Debug|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.Debug|Win32.Build.0 = Debug|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.DebugDll|Win32.Build.0 = DebugDll|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.Release|Win32.ActiveCfg = Release|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.Release|Win32.Build.0 = Release|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{3538D216-868E-4F9A-BC88-57A1A8F757F9}.Releasedll|Win32.Build.0 = Releasedll|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.Debug|Win32.ActiveCfg = Debug|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.Debug|Win32.Build.0 = Debug|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.DebugDll|Win32.Build.0 = DebugDll|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.Release|Win32.ActiveCfg = Release|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.Release|Win32.Build.0 = Release|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{3FC3D573-2A24-42F6-927F-5E4631CF48C8}.Releasedll|Win32.Build.0 = Releasedll|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -884,11 +916,11 @@ Global
{B320FF31-CC9A-41F7-B96D-7DA2FE0B45F2} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{90D013A0-4813-4BAB-8155-D175631A695E} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{128791D9-6787-471C-9A0C-0DCAE53F4911} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{143ED97E-1EC6-4821-A5FA-A6728B69273E} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{2DABFAD1-114B-4F96-9185-DC0C56A3662D} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{F6292B2C-2C57-40E1-805F-86D9FB1C3251} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{F7B28783-B507-42D8-BB2B-4B61E2B49FB7} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{E6FFFC99-AF28-4DD2-ACCF-7003498DF653} = {4FE55739-6D3E-4FA7-BC10-05AB84E3D721}
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F} = {B8331BFA-4F66-41B8-9A0F-8B7617DC07B8}
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9} = {B8331BFA-4F66-41B8-9A0F-8B7617DC07B8}
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83} = {B8331BFA-4F66-41B8-9A0F-8B7617DC07B8}
@ -928,5 +960,8 @@ Global
{B14C93A6-DABE-48F9-A78C-C94049B69984} = {462CDA64-00AD-4468-B0CD-A24D8897BE04}
{5BE9D250-12FD-48D2-B918-035E079E5BD0} = {F3E793C9-05F6-46CC-AFC1-6A3590AC2B4F}
{6319215C-021F-4439-A085-D1F35BF6E85A} = {F3E793C9-05F6-46CC-AFC1-6A3590AC2B4F}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
{3538D216-868E-4F9A-BC88-57A1A8F757F9} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
{3FC3D573-2A24-42F6-927F-5E4631CF48C8} = {E6FFFC99-AF28-4DD2-ACCF-7003498DF653}
EndGlobalSection
EndGlobal

View File

@ -19,13 +19,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml", "lib_acl_cpp\samples\
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string.vcxproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samples\fstream\fstream.vcxproj", "{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
@ -138,6 +131,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "mime", "mime", "{DF3C05FD-6
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "http", "http", "{ABE499FC-72AE-4D3F-8D6A-EEBFD592E9E3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "string", "string", "{A5DD26EC-A86B-4FDE-9755-126D32CC5ECA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string1\string.vcxproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string2", "lib_acl_cpp\samples\string\string2\string2.vcxproj", "{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string3", "lib_acl_cpp\samples\string\string3\string3.vcxproj", "{59C54A34-FB27-443B-99ED-4878EB5CEA8E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -177,16 +178,6 @@ Global
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll|Win32.Build.0 = Releasedll|Win32
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Template|Win32.ActiveCfg = Release|Win32
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Template|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.Build.0 = Release|Win32
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug|Win32.ActiveCfg = Debug|Win32
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug|Win32.Build.0 = Debug|Win32
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
@ -417,6 +408,36 @@ Global
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Releasedll|Win32.Build.0 = Release|Win32
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Template|Win32.ActiveCfg = Release|Win32
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Template|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.Build.0 = Release|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Debug|Win32.ActiveCfg = Debug|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Debug|Win32.Build.0 = Debug|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.DebugDll|Win32.Build.0 = DebugDll|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Release|Win32.ActiveCfg = Release|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Release|Win32.Build.0 = Release|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Releasedll|Win32.Build.0 = Releasedll|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Template|Win32.ActiveCfg = Release|Win32
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}.Template|Win32.Build.0 = Release|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Debug|Win32.ActiveCfg = Debug|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Debug|Win32.Build.0 = Debug|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.DebugDll|Win32.Build.0 = DebugDll|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Release|Win32.ActiveCfg = Release|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Release|Win32.Build.0 = Release|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Releasedll|Win32.Build.0 = Releasedll|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Template|Win32.ActiveCfg = Release|Win32
{59C54A34-FB27-443B-99ED-4878EB5CEA8E}.Template|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -424,7 +445,6 @@ Global
GlobalSection(NestedProjects) = preSolution
{DF3C05FD-61B1-4523-BB79-C84782024DD0} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{2DABFAD1-114B-4F96-9185-DC0C56A3662D} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{5F4063AD-B591-4C64-ADEA-609968A83550} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
@ -436,6 +456,7 @@ Global
{128791D9-6787-471C-9A0C-0DCAE53F4911} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{41FA5224-3315-4CDA-9C44-19085049F179} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{A5DD26EC-A86B-4FDE-9755-126D32CC5ECA} = {45F520CE-D837-4D25-8A09-E58C9D4F9BA8}
{19CB30E5-2672-4A8B-96FB-9C42970CCF69} = {DF3C05FD-61B1-4523-BB79-C84782024DD0}
{5DC79C83-9DE8-46B3-A172-8A4E3371878B} = {DF3C05FD-61B1-4523-BB79-C84782024DD0}
{52AA7352-CE48-4F60-B92D-1EB16A79FE54} = {DF3C05FD-61B1-4523-BB79-C84782024DD0}
@ -448,5 +469,8 @@ Global
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E} = {ABE499FC-72AE-4D3F-8D6A-EEBFD592E9E3}
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC} = {ABE499FC-72AE-4D3F-8D6A-EEBFD592E9E3}
{C0A7DB86-EF13-4A3E-9F34-8950521C9675} = {ABE499FC-72AE-4D3F-8D6A-EEBFD592E9E3}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {A5DD26EC-A86B-4FDE-9755-126D32CC5ECA}
{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB} = {A5DD26EC-A86B-4FDE-9755-126D32CC5ECA}
{59C54A34-FB27-443B-99ED-4878EB5CEA8E} = {A5DD26EC-A86B-4FDE-9755-126D32CC5ECA}
EndGlobalSection
EndGlobal

View File

@ -94,12 +94,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_stream", "lib_acl_cp
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string_vc2012.vcxproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win_dbservice", "lib_acl_cpp\samples\win_dbservice\win_dbservice_vc2012.vcxproj", "{DC7E75E5-FE42-4529-9D9A-19D240B8727B}"
ProjectSection(ProjectDependencies) = postProject
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
@ -210,6 +204,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dircmp", "lib_acl_cpp\sampl
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "filedir", "filedir", "{2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "string", "string", "{06493E1B-DA69-4471-AF4C-6890A6D0F6EE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string1\string_vc2012.vcxproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string2", "lib_acl_cpp\samples\string\string2\string2_vc2012.vcxproj", "{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string3", "lib_acl_cpp\samples\string\string3\string3_vc2012.vcxproj", "{0FD53805-522C-4A04-938A-F05C1553828B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -409,16 +411,6 @@ Global
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll|Win32.Build.0 = Releasedll|Win32
{41FA5224-3315-4CDA-9C44-19085049F179}.Template|Win32.ActiveCfg = DebugDll|Win32
{41FA5224-3315-4CDA-9C44-19085049F179}.Template|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.Build.0 = DebugDll|Win32
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug|Win32.ActiveCfg = Debug|Win32
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug|Win32.Build.0 = Debug|Win32
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
@ -579,6 +571,36 @@ Global
{F3A8F036-AD85-4687-A7D5-A3C004377C73}.Releasedll|Win32.Build.0 = Releasedll|Win32
{F3A8F036-AD85-4687-A7D5-A3C004377C73}.Template|Win32.ActiveCfg = DebugDll|Win32
{F3A8F036-AD85-4687-A7D5-A3C004377C73}.Template|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.ActiveCfg = DebugDll|Win32
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.Build.0 = DebugDll|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Debug|Win32.ActiveCfg = Debug|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Debug|Win32.Build.0 = Debug|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.DebugDll|Win32.Build.0 = DebugDll|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Release|Win32.ActiveCfg = Release|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Release|Win32.Build.0 = Release|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Releasedll|Win32.Build.0 = Releasedll|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Template|Win32.ActiveCfg = DebugDll|Win32
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}.Template|Win32.Build.0 = DebugDll|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Debug|Win32.ActiveCfg = Debug|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Debug|Win32.Build.0 = Debug|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.DebugDll|Win32.Build.0 = DebugDll|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Release|Win32.ActiveCfg = Release|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Release|Win32.Build.0 = Release|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Releasedll|Win32.Build.0 = Releasedll|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Template|Win32.ActiveCfg = DebugDll|Win32
{0FD53805-522C-4A04-938A-F05C1553828B}.Template|Win32.Build.0 = DebugDll|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -592,14 +614,13 @@ Global
{B8029C89-9870-4EE4-ADD0-E7852E0D1810} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{B1A07893-DA8C-43D8-A2F1-0940837C482F} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{128791D9-6787-471C-9A0C-0DCAE53F4911} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{06493E1B-DA69-4471-AF4C-6890A6D0F6EE} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{DC7E75E5-FE42-4529-9D9A-19D240B8727B} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{2DABFAD1-114B-4F96-9185-DC0C56A3662D} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{37A14D60-8196-4BCA-9B1A-48302446AFAF} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{BE48C8C9-2F6D-450B-9D42-4666E9257C8A} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{A76344E8-D8EF-4E0D-9A01-73DB25B5B76E} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{8A5563B4-C546-46D0-9C64-D051CA29F164} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE} = {324E7B70-E11C-4A39-A11F-4BB2A8E70064}
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83} = {02535D96-1693-4AA3-B650-B22DC776FDC2}
{225D0BFA-64D7-4F8F-951E-36A494CF6178} = {02535D96-1693-4AA3-B650-B22DC776FDC2}
@ -616,12 +637,16 @@ Global
{5DC79C83-9DE8-46B3-A172-8A4E3371878B} = {B1A07893-DA8C-43D8-A2F1-0940837C482F}
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE} = {B1A07893-DA8C-43D8-A2F1-0940837C482F}
{52AA7352-CE48-4F60-B92D-1EB16A79FE54} = {B1A07893-DA8C-43D8-A2F1-0940837C482F}
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7} = {06493E1B-DA69-4471-AF4C-6890A6D0F6EE}
{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE} = {06493E1B-DA69-4471-AF4C-6890A6D0F6EE}
{0FD53805-522C-4A04-938A-F05C1553828B} = {06493E1B-DA69-4471-AF4C-6890A6D0F6EE}
{2F6EDD90-FE9E-4D1F-B2FE-7FED6805B1D4} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
{946DAF94-90C7-44F9-B24B-6B8F105A84EF} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
{DE0F9993-7821-4659-B1C2-3A24DE292E87} = {37A14D60-8196-4BCA-9B1A-48302446AFAF}
{9F6E3633-E3EB-4DD0-8B53-0013EAB5E532} = {BE48C8C9-2F6D-450B-9D42-4666E9257C8A}
{572249B2-7EE6-41D8-97CE-6FA98BDCF412} = {BE48C8C9-2F6D-450B-9D42-4666E9257C8A}
{98BB9F33-AFC3-4943-8855-4D253B87F8F1} = {2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE}
{8A5563B4-C546-46D0-9C64-D051CA29F164} = {2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE}
{F3A8F036-AD85-4687-A7D5-A3C004377C73} = {2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE}
{98BB9F33-AFC3-4943-8855-4D253B87F8F1} = {2AAD256A-E891-4CFA-BA5F-70DDA2CC63AE}
EndGlobalSection
EndGlobal

View File

@ -1,6 +1,10 @@
修改历史列表:
------------------------------------------------------------------------
452) 2014.7.21
452.1) 将 master/template/acl_tmpl.c 移到 stdlib/sys/unix/acl_core_limit.c
452.2) bugfix: acl_basename.c 中的 acl_safe_basename() 函数有 BUG
451) 2014.7.7
451.1) acl_set_ugid.c/acl_set_eugid.c: 当进程不能切换用户身份时取消了自动
fatal 的过程,而是给上一级调用者返回 -1 表示切换用户身份失败

View File

@ -186,11 +186,6 @@ typedef void (*ACL_TRIGGER_SERVER_FN) (char *, int, char *, char **);
void acl_trigger_server_main(int, char **, ACL_TRIGGER_SERVER_FN, ...);
ACL_EVENT *acl_trigger_server_event(void);
/*
* acl_master_log.c
*/
void acl_master_log_open(const char *procname);
#define ACL_TRIGGER_BUF_SIZE 1024
#endif /* ACL_UNIX */

View File

@ -0,0 +1,24 @@
#ifndef __ACL_CORE_LIMIT_INCLUDE__
#define __ACL_CORE_LIMIT_INCLUDE__
#ifdef __cplusplus
extern "C" {
#endif
#include "../acl_define.h"
#ifdef ACL_UNIX
/**
* core
* @param max {unsigned long long int} == 0
* 使使
*/
void acl_set_core_limit(unsigned long long int max);
#endif /* ACL_UNIX */
#ifdef __cplusplus
}
#endif
#endif

View File

@ -25,7 +25,7 @@ extern "C" {
* External interface.
*/
extern ACL_VSTREAM *acl_safe_open(const char *path, int flags, int mode,
struct stat * st, uid_t user, gid_t group, ACL_VSTRING *why);
struct stat * st, uid_t user, gid_t group, ACL_VSTRING *why);
#endif /* ACL_UNIX */

View File

@ -17,6 +17,7 @@ extern "C" {
#include "acl_transfer_fd.h"
#include "acl_watchdog.h"
#include "acl_trace.h"
#include "acl_core_limit.h"
#ifdef __cplusplus
}

View File

@ -504,6 +504,9 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<File
RelativePath=".\src\stdlib\sys\unix\acl_chroot_uid.c">
</File>
<File
RelativePath=".\src\stdlib\sys\unix\acl_core_limit.c">
</File>
<File
RelativePath=".\src\stdlib\sys\unix\acl_mychown.c">
</File>
@ -1085,7 +1088,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
RelativePath=".\src\master\template\acl_ioctl_server.c">
</File>
<File
RelativePath=".\src\master\template\acl_master_log.c">
RelativePath=".\src\master\template\master_log.c">
</File>
<File
RelativePath=".\src\master\template\acl_multi_server.c">
@ -1096,9 +1099,6 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<File
RelativePath=".\src\master\template\acl_threads_server.c">
</File>
<File
RelativePath=".\src\master\template\acl_tmpl.c">
</File>
<File
RelativePath=".\src\master\template\acl_trigger_server.c">
</File>
@ -1106,7 +1106,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
RelativePath=".\src\master\template\acl_udp_server.c">
</File>
<File
RelativePath=".\src\master\template\template.h">
RelativePath=".\src\master\template\master_log.h">
</File>
</Filter>
<Filter
@ -1531,6 +1531,9 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<File
RelativePath=".\include\stdlib\unix\acl_chroot_uid.h">
</File>
<File
RelativePath=".\include\stdlib\unix\acl_core_limit.h">
</File>
<File
RelativePath=".\include\stdlib\unix\acl_mychown.h">
</File>

View File

@ -682,6 +682,10 @@
RelativePath=".\src\stdlib\sys\unix\acl_chroot_uid.c"
>
</File>
<File
RelativePath=".\src\stdlib\sys\unix\acl_core_limit.c"
>
</File>
<File
RelativePath=".\src\stdlib\sys\unix\acl_mychown.c"
>
@ -1428,7 +1432,7 @@
>
</File>
<File
RelativePath=".\src\master\template\acl_master_log.c"
RelativePath=".\src\master\template\master_log.c"
>
</File>
<File
@ -1452,7 +1456,7 @@
>
</File>
<File
RelativePath=".\src\master\template\template.h"
RelativePath=".\src\master\template\master_log.h"
>
</File>
</Filter>
@ -2004,6 +2008,10 @@
RelativePath=".\include\stdlib\unix\acl_chroot_uid.h"
>
</File>
<File
RelativePath=".\include\stdlib\unix\acl_core_limit.h"
>
</File>
<File
RelativePath=".\include\stdlib\unix\acl_mychown.h"
>

View File

@ -288,6 +288,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClCompile Include=".\src\stdlib\sys\sleep.c" />
<ClCompile Include=".\src\stdlib\sys\snprintf.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_chroot_uid.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_core_limit.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_mychown.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_open_lock.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_safe_open.c" />
@ -418,7 +419,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClCompile Include=".\src\master\master_vars.c" />
<ClCompile Include=".\src\master\template\acl_aio_server.c" />
<ClCompile Include=".\src\master\template\acl_ioctl_server.c" />
<ClCompile Include=".\src\master\template\acl_master_log.c" />
<ClCompile Include=".\src\master\template\master_log.c" />
<ClCompile Include=".\src\master\template\acl_multi_server.c" />
<ClCompile Include=".\src\master\template\acl_single_server.c" />
<ClCompile Include=".\src\master\template\acl_threads_server.c" />
@ -500,7 +501,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClInclude Include=".\src\master\master_flow.h" />
<ClInclude Include=".\src\master\master_params.h" />
<ClInclude Include=".\src\master\master_proto.h" />
<ClInclude Include=".\src\master\template\template.h" />
<ClInclude Include=".\src\master\template\master_log.h" />
<ClInclude Include=".\src\master\framework\master.h" />
<ClInclude Include=".\src\master\framework\master_pathname.h" />
<ClInclude Include=".\src\master\framework\trigger\trigger.h" />
@ -585,6 +586,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClInclude Include=".\include\stdlib\avl.h" />
<ClInclude Include=".\include\stdlib\avl_impl.h" />
<ClInclude Include=".\include\stdlib\unix\acl_chroot_uid.h" />
<ClInclude Include=".\include\stdlib\unix\acl_core_limit.h" />
<ClInclude Include=".\include\stdlib\unix\acl_mychown.h" />
<ClInclude Include=".\include\stdlib\unix\acl_open_lock.h" />
<ClInclude Include=".\include\stdlib\unix\acl_safe_open.h" />

View File

@ -383,6 +383,9 @@
<ClCompile Include=".\src\stdlib\sys\unix\acl_chroot_uid.c">
<Filter>Source Files\stdlib\sys\unix</Filter>
</ClCompile>
<ClCompile Include=".\src\stdlib\sys\unix\acl_core_limit.c">
<Filter>Source Files\stdlib\sys\unix</Filter>
</ClCompile>
<ClCompile Include=".\src\stdlib\sys\unix\acl_mychown.c">
<Filter>Source Files\stdlib\sys\unix</Filter>
</ClCompile>
@ -773,7 +776,7 @@
<ClCompile Include=".\src\master\template\acl_ioctl_server.c">
<Filter>Source Files\master\template</Filter>
</ClCompile>
<ClCompile Include=".\src\master\template\acl_master_log.c">
<ClCompile Include=".\src\master\template\master_log.c">
<Filter>Source Files\master\template</Filter>
</ClCompile>
<ClCompile Include=".\src\master\template\acl_multi_server.c">
@ -1020,7 +1023,7 @@
<ClInclude Include=".\src\master\master_proto.h">
<Filter>Source Files\master</Filter>
</ClInclude>
<ClInclude Include=".\src\master\template\template.h">
<ClInclude Include=".\src\master\template\master_log.h">
<Filter>Source Files\master\template</Filter>
</ClInclude>
<ClInclude Include=".\src\master\framework\master.h">
@ -1275,6 +1278,9 @@
<ClInclude Include=".\include\stdlib\unix\acl_chroot_uid.h">
<Filter>Header Files\stdlb\unix</Filter>
</ClInclude>
<ClInclude Include=".\include\stdlib\unix\acl_core_limit.h">
<Filter>Header Files\stdlb\unix</Filter>
</ClInclude>
<ClInclude Include=".\include\stdlib\unix\acl_mychown.h">
<Filter>Header Files\stdlb\unix</Filter>
</ClInclude>

View File

@ -292,6 +292,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClCompile Include=".\src\stdlib\sys\sleep.c" />
<ClCompile Include=".\src\stdlib\sys\snprintf.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_chroot_uid.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_core_limit.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_mychown.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_open_lock.c" />
<ClCompile Include=".\src\stdlib\sys\unix\acl_safe_open.c" />
@ -422,7 +423,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClCompile Include=".\src\master\master_vars.c" />
<ClCompile Include=".\src\master\template\acl_aio_server.c" />
<ClCompile Include=".\src\master\template\acl_ioctl_server.c" />
<ClCompile Include=".\src\master\template\acl_master_log.c" />
<ClCompile Include=".\src\master\template\master_log.c" />
<ClCompile Include=".\src\master\template\acl_multi_server.c" />
<ClCompile Include=".\src\master\template\acl_single_server.c" />
<ClCompile Include=".\src\master\template\acl_threads_server.c" />
@ -504,7 +505,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClInclude Include=".\src\master\master_flow.h" />
<ClInclude Include=".\src\master\master_params.h" />
<ClInclude Include=".\src\master\master_proto.h" />
<ClInclude Include=".\src\master\template\template.h" />
<ClInclude Include=".\src\master\template\master_log.h" />
<ClInclude Include=".\src\master\framework\master.h" />
<ClInclude Include=".\src\master\framework\master_pathname.h" />
<ClInclude Include=".\src\master\framework\trigger\trigger.h" />
@ -589,6 +590,7 @@ copy $(TargetName).pdb ..\dist\lib\win32\$(TargetName).pdb /Y
<ClInclude Include=".\include\stdlib\avl.h" />
<ClInclude Include=".\include\stdlib\avl_impl.h" />
<ClInclude Include=".\include\stdlib\unix\acl_chroot_uid.h" />
<ClInclude Include=".\include\stdlib\unix\acl_core_limit.h" />
<ClInclude Include=".\include\stdlib\unix\acl_mychown.h" />
<ClInclude Include=".\include\stdlib\unix\acl_open_lock.h" />
<ClInclude Include=".\include\stdlib\unix\acl_safe_open.h" />

View File

@ -383,6 +383,9 @@
<ClCompile Include=".\src\stdlib\sys\unix\acl_chroot_uid.c">
<Filter>Source Files\stdlib\sys\unix</Filter>
</ClCompile>
<ClCompile Include=".\src\stdlib\sys\unix\acl_core_limit.c">
<Filter>Source Files\stdlib\sys\unix</Filter>
</ClCompile>
<ClCompile Include=".\src\stdlib\sys\unix\acl_mychown.c">
<Filter>Source Files\stdlib\sys\unix</Filter>
</ClCompile>
@ -773,7 +776,7 @@
<ClCompile Include=".\src\master\template\acl_ioctl_server.c">
<Filter>Source Files\master\template</Filter>
</ClCompile>
<ClCompile Include=".\src\master\template\acl_master_log.c">
<ClCompile Include=".\src\master\template\master_log.c">
<Filter>Source Files\master\template</Filter>
</ClCompile>
<ClCompile Include=".\src\master\template\acl_multi_server.c">
@ -1020,7 +1023,7 @@
<ClInclude Include=".\src\master\master_proto.h">
<Filter>Source Files\master</Filter>
</ClInclude>
<ClInclude Include=".\src\master\template\template.h">
<ClInclude Include=".\src\master\template\master_log.h">
<Filter>Source Files\master\template</Filter>
</ClInclude>
<ClInclude Include=".\src\master\framework\master.h">
@ -1275,6 +1278,9 @@
<ClInclude Include=".\include\stdlib\unix\acl_chroot_uid.h">
<Filter>Header Files\stdlib\unix</Filter>
</ClInclude>
<ClInclude Include=".\include\stdlib\unix\acl_core_limit.h">
<Filter>Header Files\stdlib\unix</Filter>
</ClInclude>
<ClInclude Include=".\include\stdlib\unix\acl_mychown.h">
<Filter>Header Files\stdlib\unix</Filter>
</ClInclude>

View File

@ -40,6 +40,7 @@
#include "stdlib/acl_stringops.h"
#include "stdlib/acl_myflock.h"
#include "stdlib/unix/acl_watchdog.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_split_at.h"
#include "net/acl_listen.h"
#include "net/acl_tcp_ctl.h"
@ -60,7 +61,7 @@
/* Application-specific */
#include "master/acl_aio_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_aio_pid;
@ -1242,7 +1243,7 @@ static void server_main(int argc, char **argv, va_list ap)
aio_init(); /* 初始化 */
/* 在子进程切换用户身份之前,先用 acl_master 的日志句柄记日志 */
acl_master_log_open(argv[0]);
master_log_open(argv[0]);
/*******************************************************************/
@ -1396,7 +1397,7 @@ static void server_main(int argc, char **argv, va_list ap)
/* 设置子进程运行环境,允许产生 core 文件 */
if (acl_var_aio_enable_core)
set_core_limit();
acl_set_core_limit(0);
log_event_mode(__event_mode); /* 将事件模式记入日志中 */

View File

@ -39,6 +39,7 @@
#include "stdlib/acl_stringops.h"
#include "stdlib/acl_myflock.h"
#include "stdlib/unix/acl_watchdog.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_split_at.h"
#include "net/acl_listen.h"
#include "net/acl_tcp_ctl.h"
@ -55,7 +56,7 @@
/* Application-specific */
#include "master/acl_ioctl_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_ioctl_pid;
char *acl_var_ioctl_procname;
@ -991,7 +992,7 @@ void acl_ioctl_server_main(int argc, char **argv, ACL_IOCTL_SERVER_FN service, .
acl_chroot_uid(root_dir, user_name);
/* 设置子进程运行环境,允许产生 core 文件 */
if (acl_var_ioctl_enable_core)
set_core_limit();
acl_set_core_limit(0);
ioctl_server_open_log();
log_event_mode(event_mode);

View File

@ -31,6 +31,7 @@
#include "stdlib/acl_msg.h"
#include "stdlib/unix/acl_chroot_uid.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_vstring.h"
#include "stdlib/acl_vstream.h"
#include "stdlib/acl_mymalloc.h"
@ -52,7 +53,7 @@
/* Application-specific */
#include "master/acl_multi_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_multi_pid;
char *acl_var_multi_procname;
@ -714,7 +715,7 @@ void acl_multi_server_main(int argc, char **argv, ACL_MULTI_SERVER_FN service,..
acl_chroot_uid(root_dir, user_name);
/* 设置子进程运行环境,允许产生 core 文件 */
if (acl_var_multi_enable_core)
set_core_limit();
acl_set_core_limit(0);
multi_server_open_log();
/*

View File

@ -32,6 +32,7 @@
#include "stdlib/acl_msg.h"
#include "stdlib/unix/acl_chroot_uid.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_vstring.h"
#include "stdlib/acl_vstream.h"
#include "stdlib/acl_mymalloc.h"
@ -55,7 +56,7 @@
/* Application-specific */
#include "master/acl_single_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_single_pid;
char *acl_var_single_procname;
@ -475,7 +476,7 @@ void acl_single_server_main(int argc, char **argv, ACL_SINGLE_SERVER_FN service,
single_server_init(argv[0]);
/* 提前进行模板初始化,以使日志尽早地打开, 开始先使用 acl_master 的日志文件 */
acl_master_log_open(argv[0]);
master_log_open(argv[0]);
acl_msg_info("%s(%d): daemon started, log=%s",
acl_var_single_procname, __LINE__, acl_var_single_log_file);
@ -632,7 +633,7 @@ void acl_single_server_main(int argc, char **argv, ACL_SINGLE_SERVER_FN service,
/* 设置子进程运行环境,允许产生 core 文件 */
if (acl_var_single_enable_core)
set_core_limit();
acl_set_core_limit(0);
single_server_open_log(argv[0]);

View File

@ -32,6 +32,7 @@
#include "stdlib/acl_msg.h"
#include "stdlib/unix/acl_chroot_uid.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_vstring.h"
#include "stdlib/acl_vstream.h"
#include "stdlib/acl_mymalloc.h"
@ -55,7 +56,7 @@
/* Application-specific */
#include "master/acl_threads_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_threads_pid;
char *acl_var_threads_procname;
@ -1038,7 +1039,7 @@ void acl_threads_server_main(int argc, char **argv,
/*******************************************************************/
/* 在子进程切换用户身份之前,先用 acl_master 的日志句柄记日志 */
acl_master_log_open(argv[0]);
master_log_open(argv[0]);
/*
* Pick up policy settings from master process. Shut up error
@ -1239,7 +1240,7 @@ void acl_threads_server_main(int argc, char **argv,
/* if enable dump core when program crashed ? */
if (acl_var_threads_enable_core)
set_core_limit();
acl_set_core_limit(0);
/* Run post-jail initialization. */
if (post_init)

View File

@ -32,6 +32,7 @@
#include "stdlib/acl_msg.h"
#include "stdlib/unix/acl_chroot_uid.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_vstring.h"
#include "stdlib/acl_vstream.h"
#include "stdlib/acl_mymalloc.h"
@ -54,7 +55,7 @@
#include "master/acl_trigger_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_trigger_pid;
char *acl_var_trigger_procname;
@ -427,7 +428,7 @@ void acl_trigger_server_main(int argc, char **argv, ACL_TRIGGER_SERVER_FN servic
char *conf_file_ptr = 0;
/* 提前进行模板初始化,以使日志尽早地打开, 开始先使用 acl_master 的日志文件 */
acl_master_log_open(argv[0]);
master_log_open(argv[0]);
if (acl_msg_verbose)
acl_msg_info("daemon started");
@ -650,7 +651,7 @@ void acl_trigger_server_main(int argc, char **argv, ACL_TRIGGER_SERVER_FN servic
/* 设置子进程运行环境,允许产生 core 文件 */
if (acl_var_trigger_enable_core)
set_core_limit();
acl_set_core_limit(0);
/*
* Run post-jail initialization.

View File

@ -32,6 +32,7 @@
#include "stdlib/acl_msg.h"
#include "stdlib/unix/acl_chroot_uid.h"
#include "stdlib/unix/acl_core_limit.h"
#include "stdlib/acl_vstream.h"
#include "stdlib/acl_mymalloc.h"
#include "stdlib/acl_iostuff.h"
@ -51,7 +52,7 @@
/* Application-specific */
#include "master/acl_udp_params.h"
#include "master/acl_server_api.h"
#include "template.h"
#include "master_log.h"
int acl_var_udp_pid;
char *acl_var_udp_procname;
@ -571,7 +572,7 @@ void acl_udp_server_main(int argc, char **argv, ACL_UDP_SERVER_FN service, ...)
/* 设置子进程运行环境,允许产生 core 文件 */
if (acl_var_udp_enable_core)
set_core_limit();
acl_set_core_limit(0);
udp_server_open_log();
log_event_mode(event_mode);

View File

@ -0,0 +1,40 @@
#include "StdAfx.h"
#ifndef ACL_PREPARE_COMPILE
#include "stdlib/acl_define.h"
#endif
#ifdef ACL_UNIX
#include <stdlib.h>
#include "stdlib/acl_msg.h"
#include "master_log.h"
static int var_master_log_opened = 0;
void master_log_open(const char *procname)
{
const char *myname = "master_log_open";
char *master_log;
/* use master's log before chroot */
master_log = getenv("MASTER_LOG");
if (master_log == NULL)
acl_msg_info("%s(%d): no MASTER_LOG's env value",
myname, __LINE__);
else {
acl_msg_open(master_log, procname);
var_master_log_opened = 1;
acl_msg_info("%s(%d): service: %s, log opened now.",
myname, __LINE__, procname);
}
}
void master_log_close()
{
if (var_master_log_opened) {
acl_msg_close();
var_master_log_opened = 0;
}
}
#endif

View File

@ -0,0 +1,21 @@
#ifndef __MASTER_LOG_INCLUDE_H__
#define __MASTER_LOG_INCLUDE_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "stdlib/acl_define.h"
#ifdef ACL_UNIX
void master_log_open(const char *procname);
void master_log_close(void);
#endif
#ifdef __cplusplus
}
#endif
#endif

View File

@ -22,7 +22,7 @@ const char *acl_safe_basename(const char *path)
const char *result;
if ((result = strrchr(path, '/')) == NULL
&& (result = strchr(path, '\\')) == NULL)
&& (result = strrchr(path, '\\')) == NULL)
{
result = (const char *) path;
} else

View File

@ -0,0 +1,51 @@
#include "StdAfx.h"
#ifndef ACL_PREPARE_COMPILE
#include "stdlib/acl_define.h"
#endif
#ifdef ACL_UNIX
#include <sys/time.h>
#include <sys/resource.h>
#if !defined(ACL_MACOSX) && !defined(ACL_SUNOS5)
# include <sys/prctl.h>
#endif
#include "stdlib/acl_msg.h"
#include "stdlib/unix/acl_core_limit.h"
void acl_set_core_limit(unsigned long long int max)
{
const char *myname = "set_limit";
struct rlimit rlim, rlim_new;
#if !defined(ACL_MACOSX) && !defined(ACL_SUNOS5)
if (prctl(PR_SET_DUMPABLE, 1) < 0) {
acl_msg_warn("%s(%d): prctl error(%s)",
myname, __LINE__, acl_last_serror());
}
#endif
if (getrlimit(RLIMIT_CORE, &rlim) == 0) {
if (max == 0)
max = RLIM_INFINITY;
rlim_new.rlim_cur = rlim_new.rlim_max = max;
if (setrlimit(RLIMIT_CORE, &rlim_new) != 0) {
/* failed. try raising just to the old max */
rlim_new.rlim_cur = rlim_new.rlim_max = rlim.rlim_max;
if (setrlimit(RLIMIT_CORE, &rlim_new) != 0)
acl_msg_warn("%s(%d): can't set core limit: %s",
myname, __LINE__, acl_last_serror());
}
} else {
if (max == 0)
max = RLIM_INFINITY;
rlim.rlim_cur = max;
rlim.rlim_max = max;
if (setrlimit(RLIMIT_CORE, &rlim) != 0)
acl_msg_warn("%s(%d): can't set core limit: %s",
myname, __LINE__, acl_last_serror());
}
}
#endif

View File

@ -1,9 +1,14 @@
修改历史列表:
------------------------------------------------------------------------
245) 2014.7.21
245.1) bugfix: header_token.cpp 的函数 header_token 当分析 WIN32 的路径时存在
问题,会过滤掉路径中的反斜杠 '\'
244) 2014.7.16
244.1) feature: 调用 string 类的左值赋值函数后,可以通过 length() 取得数据缓冲
区的长度同时会将多余空间填充为 \0 以保证使用时的安全性,这一点与 std::string
有所不同std::string 返回 0 且也不会填充多余空间数据
245.2) samples: string3 示例专门用来测试 string 类进行左值赋值的情况
243) 2014.6.26
243.1) feature: aio_istream/istream 支持按行读数据时限制行数据最大长度以防止

View File

@ -122,20 +122,22 @@ public:
/**
* mime
* @param enableDecode {bool}
* @param toCharset {const char*} Ä¿±ê×Ö·û¼¯
* @param off {off_t}
* @return {const std::list<mime_node*>&}
*/
const std::list<mime_node*>& get_mime_nodes(
bool enableDecode = true, off_t off = 0);
const std::list<mime_node*>& get_mime_nodes(bool enableDecode = true,
const char* toCharset = "gb2312", off_t off = 0);
/**
*
* @param enableDecode {bool}
* @param toCharset {const char*} Ä¿±ê×Ö·û¼¯
* @param off {off_t}
* @return {const std::list<mime_attach*>&}
*/
const std::list<mime_attach*>& get_attachments(
bool enableDecode = true, off_t off = 0);
const std::list<mime_attach*>& get_attachments(bool enableDecode = true,
const char* toCharset = "gb2312", off_t off = 0);
/**
*

View File

@ -95,7 +95,7 @@ public:
/**
* 使
*
*
* @param n {size_t}
* @return {char&}
*/
@ -103,8 +103,8 @@ public:
/**
* 使
*
* @param n {int}
*
* @param n {int} >= 0
* @return {char&}
*/
char& operator[](int n);

View File

@ -11,7 +11,7 @@ all:
@(cd charset; make)
@(cd rfc2047; make)
@(cd rfc822; make)
# @(cd hsclient; make)
@(cd hsclient; make)
@(cd mem_cache; make)
@(cd logger; make)
# @(cd pipe_stream; make)
@ -66,7 +66,7 @@ clean:
@(cd charset; make clean)
@(cd rfc2047; make clean)
@(cd rfc822; make clean)
# @(cd hsclient; make clean)
@(cd hsclient; make clean)
@(cd mem_cache; make clean)
@(cd logger; make clean)
# @(cd pipe_stream; make clean)

View File

@ -4,6 +4,7 @@
Version="9.00"
Name="cgi_upload"
ProjectGUID="{A28B19ED-291C-47C8-BDD5-10BB038C371E}"
RootNamespace="cgi_upload"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
@ -41,7 +42,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include"
AdditionalIncludeDirectories="..\..\include; ..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"

View File

@ -2,6 +2,7 @@
//
#include "stdafx.h"
#include <assert.h>
#include "lib_acl.h"
#include "acl_cpp/lib_acl.hpp"
using namespace acl;
@ -35,9 +36,13 @@ public:
virtual bool doPost(HttpServletRequest& req, HttpServletResponse& res)
{
// 如果 session 项不存在,则设置
#if 0
const char* sid = req.getSession().getAttribute("sid");
if (*sid == 0)
req.getSession().setAttribute("sid", "xxxxxx");
#else
const char* sid = "test_sid1";
#endif
// 创建 HTTP 响应头
res.addCookie("name1", "value1");
@ -71,7 +76,11 @@ public:
const char* cookie2 = req.getCookieValue("name2");
// 获得 sid session 值
#if 0
const char* sid = req.getSession().getAttribute("sid");
#else
const char* sid = "test_sid";
#endif
// 创建 xml 格式的数据体
xml body;
@ -220,7 +229,12 @@ public:
file2_ = filename;
else if (strcmp(name, "file3") == 0)
file3_ = filename;
filename = acl_safe_basename(filename);
#ifdef WIN32
path.format("var\\%s", filename);
#else
path.format("./var/%s", filename);
#endif
(void) (*cit)->save(path.c_str());
}
}
@ -283,8 +297,10 @@ protected:
static void do_alone(void)
{
master_service service;
printf("listen: 0.0.0.0:8888 ...\r\n");
service.run_alone("0.0.0.0:8888", NULL, 1); // 单独运行方式
acl::log::stdout_open(true);
const char* addr = "0.0.0.0:8081";
printf("listen: %s ...\r\n", addr);
service.run_alone(addr, NULL, 1); // 单独运行方式
}
// WEB CGI 模式

View File

@ -1,8 +1,5 @@
#include "lib_acl.h" // just for ACL_METER_TIME
#include "log.hpp"
#include "hsrow.hpp"
#include "hsclient.hpp"
#include "hspool.hpp"
#include "acl_cpp/lib_acl.hpp"
#include <getopt.h>
#include <stdlib.h>
#include <stdio.h>

View File

@ -340,10 +340,16 @@ int main(int argc, char* argv[])
if (argc >= 3)
addr = argv[2];
const char* conf;
if (argc >= 4)
conf = argv[3];
else
conf = NULL;
format = (void (*)(const char*, ...)) printf;
format("listen: %s now\r\n", addr);
ma.run_alone(addr); // 单独运行方式
ma.run_alone(addr, conf); // 单独运行方式
}
else
ma.run_daemon(argc, argv); // acl_master 控制模式运行

View File

@ -1,2 +1,11 @@
include ../Makefile.in
PROG = string
.PHONY = all clean
all:
@(cd string1; make)
@(cd string2; make)
@(cd string3; make)
clean:
@(cd string1; make clean)
@(cd string2; make clean)
@(cd string3; make clean)

View File

@ -0,0 +1,104 @@
CC = g++
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
-Wno-long-long \
-Wpointer-arith -Werror -O3 \
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
#-Waggregate-return
###########################################################
#Check system:
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
SYSLIB = -lpthread
CHECKSYSRES = @echo "Unknow system type!";exit 1
OSNAME = $(shell uname -sm)
UNIXNAME = $(OSNAME)
RPATH =
ifeq ($(CC),)
CC = gcc
endif
# For FreeBSD
ifeq ($(findstring FreeBSD, $(OSNAME)), FreeBSD)
ifeq ($(findstring gcc, $(CC)), gcc)
CFLAGS += -Wstrict-prototypes
endif
CFLAGS += -DFREEBSD -D_REENTRANT -Wshadow
SYSLIB = -lcrypt -lpthread
endif
#Path for Linux
ifeq ($(findstring Linux, $(OSNAME)), Linux)
ifeq ($CC, "gcc")
CFLAGS += -Wstrict-prototypes
endif
ifeq ($(findstring i686, $(OSNAME)), i686)
RPATH = linux32
endif
ifeq ($(findstring x86_64, $(OSNAME)), x86_64)
RPATH = linux64
endif
CFLAGS += -DLINUX2 -D_REENTRANT -Wshadow
endif
#Path for SunOS
ifeq ($(findstring SunOS, $(OSNAME)), SunOS)
ifeq ($(findstring 86, $(OSNAME)), 86)
SYSLIB += -lsocket -lnsl -lrt
endif
ifeq ($(findstring sun4u, $(OSNAME)), sun4u)
SYSLIB += -lsocket -lnsl -lrt
endif
ifeq ($CC, "gcc")
CFLAGS += -Wstrict-prototypes
endif
CFLAGS += -DSUNOS5 -D_REENTRANT
endif
#Path for HP-UX
ifeq ($(findstring HP-UX, $(OSNAME)), HP-UX)
ifeq ($CC, "gcc")
CFLAGS += -Wstrict-prototypes
endif
CFLAGS += -DHP_UX -DHPUX11 -Wshadow
PLAT_NAME=hp-ux
endif
#Find system type.
ifneq ($(SYSPATH),)
CHECKSYSRES = @echo "System is $(shell uname -sm)"
endif
###########################################################
CFLAGS += -I. -I../../../include -I../../../../lib_acl/include -I../../../../lib_protocol/include
EXTLIBS =
LDFLAGS = -L../../../lib -l_acl_cpp -L../../../../lib_protocol/lib -l_protocol -L../../../../lib_acl/lib -l_acl \
-L../../../../lib/$(RPATH) $(EXTLIBS) $(SYSLIB)
COMPILE = $(CC) $(CFLAGS)
LINK = $(CC) $(OBJ) $(LDFLAGS)
###########################################################
OBJ_PATH = .
#Project's objs
SRC = $(wildcard *.cpp) $(UTIL)
OBJ = $(patsubst %.cpp, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
$(OBJ_PATH)/%.o: %.cpp
$(COMPILE) $< -o $@
$(OBJ_PATH)/%.o: ../%.cpp
$(COMPILE) $< -o $@
.PHONY = all clean
all: RM $(OBJ)
$(LINK) -o $(PROG)
@echo ""
@echo "All ok! Output:$(PROG)"
@echo ""
RM:
rm -f $(PROG)
clean:
rm -f $(PROG)
rm -f $(OBJ)
###########################################################

View File

@ -0,0 +1,2 @@
include ../Makefile.in
PROG = string

View File

@ -0,0 +1,426 @@
#include "lib_acl.h"
#include "acl_cpp/stream/ofstream.hpp"
#include "acl_cpp/stdlib/string.hpp"
#include <stdio.h>
#include <string>
// std::string ²âÊÔ
static void test(void)
{
std::string s;
printf("--------------------- in test -----------------\r\n");
s = "XXX";
printf(">>s: %s, len: %d\n", s.c_str(), (int) s.length());
acl::string s1("hello world, You're welcome!");
printf("strip: '\t !', before strip: %s, ", s1.c_str());
s1.strip("\t !", true);
printf("after strip: %s\r\n", s1.c_str());
acl_assert(s1 == "helloworld,You'rewelcome");
s1 = "hello world, You're welcome!";
s1.strip(":", true);
printf(">>s1: %s\n", s1.c_str());
acl_assert(s1 == "hello world, You're welcome!");
s1 = "hello world, You're welcome!";
s1.strip("he", true);
printf(">>s1: %s\n", s1.c_str());
acl_assert(s1 == "llo world, You'r wlcom!");
s1 = "hello world, You're welcome!";
s1.strip("he");
printf(">>s1: %s\n", s1.c_str());
acl_assert(s1 == "llo world, You're welcome!");
s1 = "hello world, You're welcome!";
s1.strip("he ", true);
printf(">>s1: %s\n", s1.c_str());
acl_assert(s1 == "lloworld,You'rwlcom!");
}
static void test2(void)
{
acl::string s, s1("hello1;"), s2("hello2;");
printf("------------------- in test2 ----------------------\r\n");
s.append("<");
s << s1;
s << s2;
s.append(">");
printf(">>>%s\n", s.c_str());
}
static void test3(void)
{
printf("------------------- in test3 ------------------\r\n");
printf("parse_int: %s\n", acl::string::parse_int(100).c_str());
printf("parse_int(-1): %s, %s\n",
acl::string::parse_int(-1).c_str(),
acl::string::parse_int((unsigned int) -1).c_str());
printf("parse_int64(-1): %s, %s\n",
acl::string::parse_int(-1).c_str(),
acl::string::parse_int64((unsigned long long int) -1).c_str());
unsigned char n1 = 255;
char n2 = (char) 255;
printf("parse_int: unsigned char %s, char %s\n",
acl::string::parse_int(n1).c_str(),
acl::string::parse_int(n2).c_str());
}
//////////////////////////////////////////////////////////////////////////
static void test41(void)
{
acl::string buf;
buf = "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
}
// ѹÁ¦²âÊÔ acl::string
static void test4(void)
{
ACL_METER_TIME(">> begin acl::string");
for (int i = 0; i < 100000; i++)
{
test41();
}
ACL_METER_TIME(">> end acl::string");
}
//////////////////////////////////////////////////////////////////////////
static void test51(void)
{
std::string buf;
buf = "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
buf += "hello world!";
}
// ѹÁ¦²âÊÔ std::string
static void test5(void)
{
ACL_METER_TIME(">> begin std::string");
for (int i = 0; i < 100000; i++)
{
test51();
}
ACL_METER_TIME(">> end std::string");
}
//////////////////////////////////////////////////////////////////////////
static void test61(void)
{
ACL_VSTRING* buf;
buf = acl_vstring_alloc(256);
acl_vstring_strcpy(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_strcat(buf, "hello world!");
acl_vstring_free(buf);
}
static void test6(void)
{
ACL_METER_TIME(">> begin ACL_VSTRING");
for (int i = 0; i < 100000; i++)
{
test61();
}
ACL_METER_TIME(">> end ACL_VSTRING");
}
//////////////////////////////////////////////////////////////////////////
static void test71(void)
{
ACL_VSTRING* buf = acl_vstring_alloc(256);
acl_vstring_sprintf(buf, "max unsigned int: %u; max unsigned long long int: %llu",
(unsigned int) -1, (unsigned long long) -1);
acl_vstring_free(buf);
}
static void test7(void)
{
ACL_METER_TIME(">> begin ACL_VSTRING: acl_vstring_sprintf");
for (int i = 0; i < 100000; i++)
{
test71();
}
ACL_METER_TIME(">> end ACL_VSTRING: acl_vstring_sprintf");
}
//////////////////////////////////////////////////////////////////////////
static void test_main(void)
{
acl::string s;
int n = 200;
unsigned char ch;
printf("-------------------- in test_main ---------------\r\n");
//////////////////////////////////////////////////////////////////////
s += (char) n;
ch = s[0];
n = (unsigned char) s[0];
printf("n: %d, ch: %d\n", n, ch);
//////////////////////////////////////////////////////////////////////
s.clear();
s.format("\tunsigned long long -1: %llu\r\n"
"\tunsigned int -1: %u\r\n"
"\tunsigned short -1: %u\r\n"
"\tunsigned char -1: %u\r\n",
(unsigned long long) -1, (unsigned int) -1,
(unsigned short) -1, (unsigned char) -1);
printf(">>> 0 result:\r\n");
printf("%s", s.c_str());
s.clear();
s<<"append char: " << 'X';
printf(">>> 1 result: %s\r\n", s.c_str());
s = 'X';
printf(">>> 2 result: %s\r\n", s.c_str());
//////////////////////////////////////////////////////////////////////
s.clear();
printf(">>> set bin status\r\n");
s.set_bin(true);
#ifdef WIN32
s << (unsigned __int64) -1 << (unsigned int) -1 << (unsigned short) -1 << (unsigned char) 'Z';
#else
s << (unsigned long long int) -1 << (unsigned int) -1 << (unsigned short) -1 << (unsigned char) 'Z';
#endif
printf(">>> 3 result: %s\r\n", s.c_str());
#ifdef WIN32
unsigned __int64 n1;
#else
unsigned long long int n1;
#endif
unsigned int n2;
unsigned short n3;
unsigned char n4;
s >> n1;
s >> n2;
s >> n3;
s >> n4;
s.format("\tunsigned int64 -1: %llu\r\n"
"\tunsigned int -1: %u\r\n"
"\tunsigned short -1: %u\r\n"
"\tunsigned char -1: %u, %c\r\n",
n1, n2, n3, n4, n4);
printf(">>> 4 result: \r\n%s\r\n", s.c_str());
//////////////////////////////////////////////////////////////////////
s.clear();
s.set_bin(false);
printf(">>> set asc status\r\n");
#ifdef WIN32
s << (unsigned __int64) -1 << ", "
<< (unsigned int) -1 << ", "
<< (unsigned short) -1 << ", "
<< (unsigned char) 'Z';
#else
s << (unsigned long long int) -1 << ", "
<< (unsigned int) -1 << ", "
<< (unsigned short) -1 << ", "
<< (unsigned char) 'Z';
#endif
printf(">>> 5 result: %s\r\n", s.c_str());
//////////////////////////////////////////////////////////////////////
printf("\r\n");
test();
test2();
test3();
}
int main(void)
{
//acl_mem_slice_init(8, 1024, 1000000, ACL_SLICE_FLAG_GC2 | ACL_SLICE_FLAG_RTGC_OFF);
acl::string buf;
const char* sss = "hello world!";
buf.format("max unsigned short: %30u\r\n", (unsigned short) -1);
buf.format_append("max unsigned int: %30u\r\n", (unsigned int) -1);
buf.format_append("max unsigned long long int: %30llu\r\n",
(unsigned long long int) -1);
buf.format_append("sss: %s, max unsigned int: %u", sss,
(unsigned int) -1);
printf(">>buf: %s\r\n", buf.c_str());
printf("enter any key to continue\r\n");
getchar();
const char* s[] = { "a.b", "a.", ".b", ".", "ab", "abcd.txt", NULL };
acl::string s1, s2, ss;
for (size_t i = 0; s[i] != NULL; i++)
{
ss = s[i];
const char* p = strchr(ss.c_str(), '.');
if (p)
{
printf("----------------------------------------------------\r\n");
int n = (int) (p - ss.c_str());
printf("string: |%s|, pos: %d\r\n", ss.c_str(), n);
s1 = ss.left(n);
printf("left: |%s|, len: %d\r\n", s1.c_str(), (int) s1.length());
s2 = ss.right(n);
printf("right: |%s|, len: %d\r\n", s2.c_str(), (int) s2.length());
}
}
printf("enter any key to continue ...\r\n");
getchar();
test_main();
if (1)
{
test4();
test5();
test6();
test7();
}
acl::string sss2("hello|world,;hello1|waaaa;sdsdsdsdds|");
const std::vector<acl::string>& tokens = sss2.split2(";,|");
std::vector<acl::string>::const_iterator cit = tokens.begin();
for (; cit != tokens.end(); ++cit)
{
printf("%s\r\n", (*cit).c_str());
}
#ifdef WIN32
printf("enter any key to exit\r\n");
getchar();
#endif
return (0);
}

View File

@ -0,0 +1,240 @@
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="string"
ProjectGUID="{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="lib_acl_vc2003d.lib ws2_32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wsock32.lib lib_acl_vc2003.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="DebugDll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Releasedll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Ô´Îļþ"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\main.cpp">
</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"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,189 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDll|Win32">
<Configuration>DebugDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Releasedll|Win32">
<Configuration>Releasedll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_vc2010d.lib;lib_acl_cpp_vc2010d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2010.lib;lib_acl_cpp_vc2010.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_d.lib;lib_acl_cpp_d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl.lib;lib_acl_cpp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,365 @@
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="string"
ProjectGUID="{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wsock32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="DebugDll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="Releasedll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\main.cpp"
>
</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"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDll|Win32">
<Configuration>DebugDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Releasedll|Win32">
<Configuration>Releasedll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>string</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_vc2012d.lib;lib_acl_cpp_vc2012d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2012.lib;lib_acl_cpp_vc2012.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_d.lib;lib_acl_cpp_d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl.lib;lib_acl_cpp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,3 @@
#!/bin/sh
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes -v ./string

View File

@ -0,0 +1,2 @@
include ../Makefile.in
PROG = string

View File

@ -0,0 +1,84 @@
#include "lib_acl.h"
#include "acl_cpp/stream/ofstream.hpp"
#include "acl_cpp/stdlib/string.hpp"
#include <stdio.h>
#include <string>
//////////////////////////////////////////////////////////////////////////
static void test_main(bool move)
{
acl::string s("hello world!\r\n"
"you're welcome\r\n"
"what's your name\r\n"
"happy new year");
acl::string line;
while (true)
{
if (s.scan_line(line, true, NULL) == true)
{
printf(">>line: %s, rest len: %d\r\n",
line.c_str(), (int) s.length());
line.clear();
if (move)
s.scan_move();
}
else
{
if (s.empty())
break;
printf(">>last: %s, len: %d\r\n",
s.c_str(), (int) s.length());
acl_assert(strlen(s.c_str()) == s.length());
if (move)
s.scan_move();
printf("=======================================\r\n");
printf(">>string len: %d, buf len: %d, buf: \r\n%s\r\n",
(int) s.length(), (int) strlen((char*) s.buf()),
(char*) s.buf());
printf("=======================================\r\n");
break;
}
}
}
static void usage(const char* procname)
{
printf("usage: %s -h [help] -m [move buf after scan]\r\n", procname);
}
int main(int argc, char *argv[])
{
int ch;
bool move = false;
while ((ch = getopt(argc, argv, "hm")) > 0)
{
switch (ch)
{
case 'h':
usage(argv[0]);
return 0;
case 'm':
move = true;
break;
default:
break;
}
}
test_main(move);
#ifdef WIN32
printf("enter any key to exit\r\n");
getchar();
#endif
return (0);
}

View File

@ -0,0 +1,240 @@
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="string2"
ProjectGUID="{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="lib_acl_vc2003d.lib ws2_32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string2.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wsock32.lib lib_acl_vc2003.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="DebugDll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string2.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Releasedll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string2.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Ô´Îļþ"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\main.cpp">
</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"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,189 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDll|Win32">
<Configuration>DebugDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Releasedll|Win32">
<Configuration>Releasedll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{22AFD0E2-AE26-48F7-BB76-2B22FA8333EB}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_vc2010d.lib;lib_acl_cpp_vc2010d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string2.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2010.lib;lib_acl_cpp_vc2010.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_d.lib;lib_acl_cpp_d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string2.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl.lib;lib_acl_cpp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string2.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,363 @@
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="string2"
ProjectGUID="{3538D216-868E-4F9A-BC88-57A1A8F757F9}"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string2.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wsock32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="DebugDll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string2.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="Releasedll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string2.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string2.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\main.cpp"
>
</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"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
</VisualStudioProject>

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDll|Win32">
<Configuration>DebugDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Releasedll|Win32">
<Configuration>Releasedll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D7CCE1AD-6E3E-49C0-BED7-4AEBB79AC9DE}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>string2</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_vc2012d.lib;lib_acl_cpp_vc2012d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string2.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2012.lib;lib_acl_cpp_vc2012.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_d.lib;lib_acl_cpp_d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string2.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl.lib;lib_acl_cpp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string2.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string2.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,3 @@
#!/bin/sh
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes -v ./string

View File

@ -0,0 +1,2 @@
include ../Makefile.in
PROG = string

View File

@ -0,0 +1,122 @@
#include "lib_acl.h"
#include <vector>
#include <iostream>
#include "acl_cpp/lib_acl.hpp"
#include <stdio.h>
#include <string>
class mystring : public acl::string
{
public:
mystring()
{
}
~mystring()
{
}
};
static void test(void)
{
std::vector<acl::string> aclstr_vec;
for (int j = 0; j < 10000000; j++)
{
// const char* tmpstr = "this,is,a,test.";
const char* tmpstr = ",,,,";
acl::string aclstr(tmpstr); // = acl::string(tmpstr);
aclstr_vec = aclstr.split2(",");
// int vecsize = aclstr_vec.size();
// for (int i = 0; i< vecsize;++i)
// std::cout<<aclstr_vec[i].c_str()<<std::endl;
// if (j % 10000 == 0)
// sleep(1);
}
printf("enter any key to continue...");
fflush(stdout);
getchar();
}
int main(void)
{
if (0)
for (int i = 0; i < 100; i++)
test();
acl::string b(20);
size_t size = b.capacity();
for (int i = size - 1; i >= 0; i--)
{
b[i] = '1';
}
b[b.capacity()] = '\0';
printf("cap: %d\n", (int) size);
printf("---------------------------------------------------\n");
size = b.capacity();
printf("cap11: %d\n", (int) size);
for (int i = 0; i < (int) size; i++)
b[i] = '2';
size = b.capacity();
printf("cap12: %d\n", (int) size);
printf("---------------------------------------------------\n");
size = b.capacity();
printf("cap20: %d\n", (int) size);
b[b.capacity()] = '\0';
size = b.capacity();
printf("cap21: %d\n", (int) size);
for (int i = 0; i < (int) size; i++)
{
b[i] = '2';
printf("capxx22: %d\n", (int) b.capacity());
}
size = b.capacity();
printf("cap22: %d\n", (int) size);
printf("---------------------------------------------------\n");
b[b.capacity()] = '\0';
size = b.capacity();
printf("cap31: %d\n", (int) size);
for (int i = 0; i < (int) size; i++)
b[i] = '3';
size = b.capacity();
printf("cap32: %d\n", (int) size);
b[size + 1] = '\0';
b[size + 2] = '\0';
b[size + 3] = '\0';
size = b.capacity();
printf("cap33: %d\n", (int) size);
printf("buf: %s, len: %d, cap: %d\r\n",
b.c_str(), (int) b.length(), (int) b.capacity());
printf("----------------------------\n");
mystring a;
a[4] = '5';
a[3] = '4';
a[2] = '3';
a[1] = '2';
a[0] = '1';
a[5] = 0;
printf(">>>str: %s, len: %d, %d\r\n",
a.c_str(), (int) a.length(), (int) strlen(a.c_str()));
printf("over now\r\n");
#ifdef WIN32
printf("Enter any key to exit ...\r\n");
getchar();
#endif // WIN32
return 0;
}

View File

@ -0,0 +1,240 @@
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="string3"
ProjectGUID="{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="lib_acl_vc2003d.lib ws2_32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string3.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wsock32.lib lib_acl_vc2003.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="DebugDll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string3.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Releasedll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/string3.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Ô´Îļþ"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\main.cpp">
</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"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,189 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDll|Win32">
<Configuration>DebugDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Releasedll|Win32">
<Configuration>Releasedll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{59C54A34-FB27-443B-99ED-4878EB5CEA8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_vc2010d.lib;lib_acl_cpp_vc2010d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string3.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2010.lib;lib_acl_cpp_vc2010.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_d.lib;lib_acl_cpp_d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string3.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl.lib;lib_acl_cpp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string3.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,363 @@
<?xml version="1.0" encoding="gb2312"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="string3"
ProjectGUID="{3FC3D573-2A24-42F6-927F-5E4631CF48C8}"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string3.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wsock32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="DebugDll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string3.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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="Releasedll|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include;..\..\..\..\lib_acl\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VC2003;ACL_CPP_DLL;ACL_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)/string3.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\dist\lib\win32"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/string3.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
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;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\main.cpp"
>
</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"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
</VisualStudioProject>

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDll|Win32">
<Configuration>DebugDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Releasedll|Win32">
<Configuration>Releasedll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0FD53805-522C-4A04-938A-F05C1553828B}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>string3</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">true</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_vc2012d.lib;lib_acl_cpp_vc2012d.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string3.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;wsock32.lib;lib_acl_vc2012.lib;lib_acl_cpp_vc2012.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl_d.lib;lib_acl_cpp_d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string3.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Releasedll|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\..\lib_acl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;ACL_CPP_DLL;ACL_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>lib_acl.lib;lib_acl_cpp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)string3.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\..\dist\lib\win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)string3.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,3 @@
#!/bin/sh
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes -v ./string

View File

@ -116,21 +116,21 @@ ssize_t header_token(HEADER_TOKEN *token, ssize_t token_len,
ssize_t n;
/*
* Initialize.
*/
* Initialize.
*/
ACL_VSTRING_RESET(token_buffer);
cp = CU_CHAR_PTR(*ptr);
tok_count = 0;
if (user_specials == 0)
user_specials = LEX_822_SPECIALS;
/*
* Main parsing loop.
*
* XXX What was the reason to continue parsing when user_terminator is
* specified? Perhaps this was needed at some intermediate stage of
* development?
*/
/*
* Main parsing loop.
*
* XXX What was the reason to continue parsing when user_terminator is
* specified? Perhaps this was needed at some intermediate stage of
* development?
*/
while ((ch = *cp) != 0 && (user_terminator != 0 || tok_count < token_len)) {
cp++;
@ -153,7 +153,7 @@ ssize_t header_token(HEADER_TOKEN *token, ssize_t token_len,
comment_level = 1;
while ((ch = *cp) != 0) {
cp++;
if (ch == '(') { /* comments can nest! */
if (ch == '(') { /* comments can nest! */
comment_level++;
} else if (ch == ')') {
if (--comment_level == 0)
@ -182,8 +182,7 @@ ssize_t header_token(HEADER_TOKEN *token, ssize_t token_len,
if (ch == '\n') { /* unfold */
if (tok_count < token_len) {
len = LEN(token_buffer);
while (len > 0
&& IS_SPACE_TAB_CR_LF(STR(token_buffer)[len - 1]))
while (len > 0 && IS_SPACE_TAB_CR_LF(STR(token_buffer)[len - 1]))
len--;
if (len < (ssize_t) LEN(token_buffer))
acl_vstring_truncate(token_buffer, len);
@ -191,8 +190,12 @@ ssize_t header_token(HEADER_TOKEN *token, ssize_t token_len,
continue;
}
if (ch == '\\') {
if ((ch = *cp) == 0)
if (tok_count < token_len)
ACL_VSTRING_ADDCH(token_buffer, ch);
if (*cp == 0)
break;
ch = *cp;
cp++;
}
if (tok_count < token_len)

View File

@ -43,6 +43,7 @@ static const MIME_ENCODING mime_encoding_map[] = { /* RFC 2045 */
/*-------------------------------------------------------------------------*/
#define RFC2045_TSPECIALS "()<>@,;:\\\"/[]?="
//#define RFC2045_TSPECIALS "()<>@,;:\"/[]?="
#define TOKEN_MATCH(tok, text) \
((tok).type == HEADER_TOK_TOKEN && EQUAL((tok).u.value, (text)))
@ -255,9 +256,14 @@ static void mime_content_disposition(MIME_NODE *node,
header_token(state->token, MIME_MAX_TOKEN, \
state->token_buffer, ptr, RFC2045_TSPECIALS, ';')
while ((tok_count = PARSE_CONTENT_DISPOSITION(node->state, &cp)) > 0) {
while (1) {
tok_count = PARSE_CONTENT_DISPOSITION(node->state, &cp);
if (tok_count <= 0)
break;
if (tok_count < 3 || node->state->token[1].type != '=')
continue;
if (TOKEN_MATCH(node->state->token[0], "filename")
&& node->header_filename == NULL)
{

View File

@ -370,15 +370,15 @@ bool mime::save_mail(const char* path, const char* filename,
acl_make_dirs(path, 0700);
if (!pBody->html_stype()
|| pBody->parent_ctype() != MIME_CTYPE_MULTIPART)
//|| pBody->parent_stype() != MIME_STYPE_RELATED)
&& pBody->parent_ctype() != MIME_CTYPE_MULTIPART)
//&& pBody->parent_stype() != MIME_STYPE_RELATED)
{
filepath << path << "/" << filename;
return (pBody->save_body(filepath.c_str()));
}
const std::list<mime_image*>& images = get_images(enableDecode, toCharset, off);
const std::list<mime_image*>& images =
get_images(enableDecode, toCharset, off);
if (images.empty())
{
filepath.clear();
@ -591,8 +591,8 @@ mime_body* mime::get_body_node(bool htmlFirst,
return (m_pBody);
}
const std::list<mime_node*>& mime::get_mime_nodes(
bool enableDecode /* = true */, off_t off /* = 0 */)
const std::list<mime_node*>& mime::get_mime_nodes(bool enableDecode /* = true */,
const char* toCharset /* = "gb2312" */, off_t off /* = 0 */)
{
if (m_pNodes == NULL)
m_pNodes = NEW std::list<mime_node*>;
@ -608,13 +608,13 @@ const std::list<mime_node*>& mime::get_mime_nodes(
{
node = (MIME_NODE*) iter.data;
m_pNodes->push_back(NEW mime_node(m_pFilePath, node,
enableDecode, "gb2312", off));
enableDecode, toCharset, off));
}
return (*m_pNodes);
}
const std::list<mime_attach*>& mime::get_attachments(
bool enableDecode /* = true */, off_t off /* = 0 */)
const std::list<mime_attach*>& mime::get_attachments(bool enableDecode /* = true */,
const char* toCharset /* = "gb2312" */, off_t off /* = 0 */)
{
if (m_pAttaches == NULL)
m_pAttaches = NEW std::list<mime_attach*>;
@ -633,7 +633,7 @@ const std::list<mime_attach*>& mime::get_attachments(
if (node->header_filename == NULL)
continue;
attach = NEW mime_attach(m_pFilePath, node,
enableDecode, NULL, off);
enableDecode, toCharset, off);
m_pAttaches->push_back(attach);
}
return (*m_pAttaches);
@ -708,7 +708,8 @@ static void mime_node_dump(const char* from_path, const char* dump_path,
off_t pos = (off_t) in.fseek(node->header_begin, SEEK_SET);
pbuf = (char*) acl_mymalloc(dlen);
printf(">>>%s: header begin: %ld, end: %ld, len: %ld\n",
__FUNCTION__, node->header_begin, node->header_end, (long int) dlen);
__FUNCTION__, node->header_begin,
node->header_end, (long int) dlen);
int ret;
if ((ret = in.read(pbuf, dlen, true)) < 0) {
@ -739,7 +740,8 @@ static void mime_node_dump(const char* from_path, const char* dump_path,
pos = (off_t) in.fseek(node->body_begin, SEEK_SET);
if (pos == -1)
{
printf(">>>%s: fseek error(%s)\r\n", __FUNCTION__, acl_last_serror());
printf(">>>%s: fseek error(%s)\r\n", __FUNCTION__,
acl_last_serror());
return;
}
@ -820,24 +822,34 @@ void mime::mime_debug(const char* save_path, bool decode /* = true */)
mime_ctype_name(node->ctype),
mime_stype_name(node->stype));
if (node->boundary)
printf(">>boundary: %s\r\n", acl_vstring_str(node->boundary));
printf(">>boundary: %s\r\n",
acl_vstring_str(node->boundary));
if (node->header_filename)
{
header_filename.clear();
if (rfc2047::decode(node->header_filename, strlen(node->header_filename),
&header_filename, "gbk", true, false) == false)
printf(">>filename: %s\r\n", node->header_filename);
if (rfc2047::decode(node->header_filename,
strlen(node->header_filename),
&header_filename,
"gbk", true, false) == false)
{
printf(">>filename: %s\r\n",
node->header_filename);
}
else
printf(">>filename: %s\r\n", header_filename.c_str());
printf(">>filename: %s\r\n",
header_filename.c_str());
}
if (node->charset)
printf(">>charset: %s\r\n", node->charset);
if (node->header_name)
{
header_name.clear();
if (rfc2047::decode(node->header_name, strlen(node->header_name),
if (rfc2047::decode(node->header_name,
strlen(node->header_name),
&header_name, "gbk", true, false) == false)
{
printf(">>name: %s\r\n", node->header_name);
}
else
printf(">>name: %s\r\n", header_name.c_str());
}

View File

@ -139,10 +139,16 @@ char& string::operator [](size_t n)
char& string::operator [](int n)
{
acl_assert(n >= 0);
#if 1
return (*this)[(size_t) n];
#else
if (n >= CAP(vbf_))
{
int len = CAP(vbf_);
printf("%d: cap1: %d\n", __LINE__, CAP(vbf_));
space(n + 1);
printf("%d: cap2: %d\n", __LINE__, CAP(vbf_));
int new_len = CAP(vbf_);
// 初始化新分配的内存
@ -160,6 +166,7 @@ char& string::operator [](int n)
}
return (char&) (vbf_->vbuf.data[n]);
#endif
}
string& string::operator =(const char* s)

60
readme.txt Normal file
View File

@ -0,0 +1,60 @@
一、概述
acl 工程是一个跨平台的通用网络通信库同时提供更多的其它有价值功能。通过该库用户可以非常容易地编写支持多种模式的服务器程序、WEB 应用程序以及数据库应用程序。此外,该库还提供了 XML/JSON/MIME 编码及解码功能,这些编码解码库均支持流式解析模式,从而使之更适应不同的网络通讯方式。
本工程主要包含 5 个库及大量示例。5 个库的说明如下:
1) lib_acl: 该库是最基础的库,其它 4 个库均依赖于该库; 该库以 C 语言实现。
2) lib_protocol: 该库主要实现了 http 协议及 icmp/ping 协议; 该库以 C 语言实现。
3) lib_acl_cpp: 该库用 C++ 语言封装了 lib_acl/lib_protocol 两个库,同时增加了一些其它有价值的功能应用。
4) lib_dict: 该库主要实现了 KEY-VALUE 的字典式存储库,该库另外还依赖于 BDB, CDB 以及 tokyocabinet 库。
5) lib_tls: 该库封装了 openssl 库,使 lib_acl 的通信模式可以支持 ssl。
二、平台支持及编译
整个工程目前支持 Linux(AS4,5,6, CS4,5,6), Windows, MacOS, (原本也支持 FreeBSD, Solaris, 现在如果谁有这些环境,可以轻松移植到这些平台上)。
1) Linux/MacOS: 直接在终端命令行方式下分别进入 lib_acl/lib_protocol/lib_acl_cpp/lib_dict/lib_tls 目录下,运行 make 命令即可。
2) Windows: 可以用 VC2003/VC2010 进行编译。(如果您需要用 VC6/VC2005/VC2008 编译,可以参考 VC2003 的编译条件)。
当在 WIN32 环境下使用动态库时有几点需要注意:
a) 使用 lib_acl 的动态库时,需要在用户的工程预定义: ACL_DLL;
b) 使用 lib_protocol 动态库中的 HTTP 库或 ICMP 库时,需要在工程中预定义 HTTP_DLL 或 ICMP_DLL;
c) 使用 lib_acl_cpp 的动态库时,需要在工程中预定义 ACL_CPP_DLL如果您使用用 VC2003 编译环境则还需要预定义 VC2003;
d) 使用 lib_dict 的动态库时,需要在工程中预定义 DICT_DLL;
e) 使用 lib_tls 的动态库时,需要在工程中预定义 TLS_DLL。
三、本工程结构说明
1) lib_acl
1.1 init/ : 主要用于初始化 acl 基础库
1.2 stdlib/ : 是一些比较基础的功能函数库,在 stdlib/ 根目录下主要包括一些有关日志记录、网络/文件流处理、VSTRING缓冲操作等功能函数在 stdlib/ 下还有二级目录,如下:
1.2.1 common/ : 该目录主要为一些常用的数据结构及算法的功能函数库,象哈希表、链表、队列、动态数组、堆栈、缓存、平衡二叉树、模式匹配树等;
1.2.2 memory/ : 该目录主要包含与内存操作相关的函数库,象内存基础分配与校验、内存池管理、内存切片管理等;
1.2.3 filedir/ : 该目录主要包含与目录遍历、目录创建等相关的库;
1.2.4 configure/ : 该目录主要包含配置文件的分析库;
1.2.5 iostuff/ : 该目录主要包含一些常用的IO操作的函数库象读/写超时、设置IO句柄的阻塞模式等
1.2.6 string/ : 该目录主要包含一些常用的字符串操作的库提供了比标准C更灵活高效的字符串操作功能
1.2.7 debug/ : 主要用于协助调试内存的泄露等功能;
1.2.8 sys/ : 主要是与不同操作系统平台相关的API的封装函数库
1.3 net/: 是与网络操作相关的函数库包含网络监听、网络连接、DNS查询、套接口参数设置等功能
1.3.1 connect/ : 主要是与网络连接相关的函数库,包含网络连接、域套接口连接等;
1.3.2 listen/ : 主要是与网络监听相关的函数库,包含网络监听、域套接口监听等;
1.3.3 dns/ : 主要是与DNS域名查询相关的函数库包含对 gethostbyname 等接口的封装、按RFC1035标准直接发送UDP包方式进行查询等功能
1.4 event/ : 主要封装了 select/poll/epoll/iocp/win message/kqueue/devpoll 等系统API接口使处理网络事件更加灵活、高效、简单另外还包含定时器接口acl 中的很多网络应用都会用到这些接口,象 aio、master 等模块;
1.5 aio/ : 主要包含网络异步操作的功能函数该套函数库在处理高并发时有非常高的效率而且提供了比基础API更为高级的调用方式比使用象 libevent 之类的函数库更为简单,而且是线程安全的;
1.6 msg/ : 主要包含了基于线程的消息事件及基于网络的消息事件功能;
1.7 thread/ : 主要是封装了各个OS平台下的基础线程API使对外接口保持一致性消除了平台的差异性同时还提供了半驻留线程池的函数库以及对于线程局部变量的扩展
1.8 db/ : 主要是一些与数据库有关的功能库定义了一个通用的数据库连接池的框架并且实现了mysql的连接池实例一个简单的内存数据库由哈希表、链表、平衡二叉树组合而成ZDB数据存储引擎这是一个高效的基于数字键的存储引擎
1.9 proctl/ : win32 平台下父子进程控制功能库;
1.10 code/ : 常见编码函数库,包括 base64编解码、URL编解码以及一些汉字字符集编码等
1.11 unit_test/ : 包含有关进行 C 语言单元测试的功能库;
1.12 xml/:是一个流式的 xml 解析器及构造器,可以支持阻塞及阻塞式网络通信;
1.13 json/:是一个流式的 json 解析器及构造器,可以支持阻塞及阻塞式网络通信;
1.14 master/: 是在 UNIX 环境下支持多种服务器模式的服务器框架,目前主要支持多进程模式、多进程多线程模式、多进程非阻塞模式以及多进程触发器模式;
2) lib_protocol
2.1 http/: HTTP 协议相关的库,支持 HTTP/1.1,通讯方式支持同步/异步方式
2.2 icmp/: icmp/ping 协议库,支持同步/异步通信方式
3) lib_acl_cpp
3.1 stdlib/: 主要包含字符串处理类(string)xml/json 解析库zlib 压缩库(依赖于 zlib 库), 日志记录类, 字符集转码(在UNIX环境下需要 iconv 库), memcached 客户库, 互斥类(支持线程锁、文件锁);
3.2 stream/: 支持网络流/文件流,支持阻塞/非阻塞两种通信方式,在非阻塞模式下支持 select/poll/epoll/iocp/win32 message/kqueue/devpoll支持 ssl 加密传输(阻塞及非阻塞方式,需要 polarssl库);
3.3 ipc/: 在非阻塞通信方式,提供了阻塞模块与非阻塞模块整合的方式;
3.4 http/: 比较完整的 HTTP 通信库及协议解析库,支持客户端及服务端模式,支持 ssl/gzip 传输方式; 支持类似于 Java HttpServlet 方式的大部分接口,方便编写 CGI 及服务器程序;
3.5 db/: 封装了 MYSQL/SQLITE 库,支持数据库连接池;
3.6 hsocket/: 实现了完整的 handler-socket 客户端通信库;
3.7 mime/: 支持完整的与邮件编码相关的库(邮件的 rfc2045-rfc2047/rfc822/base64/uucode 编码及解码库).