Lab 3
This commit is contained in:
		
						commit
						bdad85c115
					
				
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					x86/
 | 
				
			||||||
 | 
					x64/
 | 
				
			||||||
 | 
					Debug
 | 
				
			||||||
 | 
					.vs
 | 
				
			||||||
							
								
								
									
										141
									
								
								Project1/Project1.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								Project1/Project1.vcxproj
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,141 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup Label="ProjectConfigurations">
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Debug|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Debug</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Debug|x64">
 | 
				
			||||||
 | 
					      <Configuration>Debug</Configuration>
 | 
				
			||||||
 | 
					      <Platform>x64</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|x64">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>x64</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <VCProjectVersion>17.0</VCProjectVersion>
 | 
				
			||||||
 | 
					    <Keyword>Win32Proj</Keyword>
 | 
				
			||||||
 | 
					    <ProjectGuid>{03725c01-c78a-4b04-82ba-b2904edb050d}</ProjectGuid>
 | 
				
			||||||
 | 
					    <RootNamespace>Project1</RootNamespace>
 | 
				
			||||||
 | 
					    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
 | 
				
			||||||
 | 
					    <ProjectName>Console</ProjectName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>true</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>false</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>true</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>false</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionSettings">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="Shared">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="UserMacros" />
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <FunctionLevelLinking>true</FunctionLevelLinking>
 | 
				
			||||||
 | 
					      <IntrinsicFunctions>true</IntrinsicFunctions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
				
			||||||
 | 
					      <OptimizeReferences>true</OptimizeReferences>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <FunctionLevelLinking>true</FunctionLevelLinking>
 | 
				
			||||||
 | 
					      <IntrinsicFunctions>true</IntrinsicFunctions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
				
			||||||
 | 
					      <OptimizeReferences>true</OptimizeReferences>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="main.cpp" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ProjectReference Include="..\dynamicLib\dynamicLib.vcxproj">
 | 
				
			||||||
 | 
					      <Project>{06b7759e-7c98-4da2-b1f6-78bc602b542e}</Project>
 | 
				
			||||||
 | 
					    </ProjectReference>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionTargets">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										22
									
								
								Project1/Project1.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Project1/Project1.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Filter Include="Исходные файлы">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Файлы заголовков">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Файлы ресурсов">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="main.cpp">
 | 
				
			||||||
 | 
					      <Filter>Исходные файлы</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										4
									
								
								Project1/Project1.vcxproj.user
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								Project1/Project1.vcxproj.user
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <PropertyGroup />
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										36
									
								
								Project1/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								Project1/main.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#include "../dynamicLib/Header.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main() {
 | 
				
			||||||
 | 
						/*HINSTANCE load;
 | 
				
			||||||
 | 
						load = LoadLibrary(L"dynamicLib.dll");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						typedef int (*pow) (int, int);
 | 
				
			||||||
 | 
						pow Pow;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Pow = (pow)GetProcAddress(load, "Pow");
 | 
				
			||||||
 | 
						int a, b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cout<<"Keep 2 numbers that you want to power: ";
 | 
				
			||||||
 | 
						cin >> a;
 | 
				
			||||||
 | 
						cin >> b;
 | 
				
			||||||
 | 
						cout << "Pow: ";
 | 
				
			||||||
 | 
						cout << Pow(a, b) << endl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cout << "a > b: " ;
 | 
				
			||||||
 | 
						cout << Compare(a, b);*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						SpeedConverter(100, "kmh");
 | 
				
			||||||
 | 
						SpeedConverter(60, "mph");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						FindSmallestFileInFolder();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//FreeLibrary(load);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										5
									
								
								dynamicLib/Header.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								dynamicLib/Header.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					extern "C" __declspec(dllexport) int Pow(int, int);
 | 
				
			||||||
 | 
					extern "C" __declspec(dllexport) bool Compare(int, int);
 | 
				
			||||||
 | 
					extern "C" __declspec(dllexport) double SpeedConverter(double, std::string);
 | 
				
			||||||
 | 
					extern "C" __declspec(dllexport) wstring FindSmallestFileInFolder();
 | 
				
			||||||
							
								
								
									
										41
									
								
								dynamicLib/dynamicLib.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								dynamicLib/dynamicLib.sln
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					Microsoft Visual Studio Solution File, Format Version 12.00
 | 
				
			||||||
 | 
					# Visual Studio Version 17
 | 
				
			||||||
 | 
					VisualStudioVersion = 17.7.34031.279
 | 
				
			||||||
 | 
					MinimumVisualStudioVersion = 10.0.40219.1
 | 
				
			||||||
 | 
					Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamicLib", "dynamicLib.vcxproj", "{06B7759E-7C98-4DA2-B1F6-78BC602B542E}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
 | 
					Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project1", "..\Project1\Project1.vcxproj", "{03725C01-C78A-4B04-82BA-B2904EDB050D}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
 | 
					Global
 | 
				
			||||||
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
 | 
							Debug|x64 = Debug|x64
 | 
				
			||||||
 | 
							Debug|x86 = Debug|x86
 | 
				
			||||||
 | 
							Release|x64 = Release|x64
 | 
				
			||||||
 | 
							Release|x86 = Release|x86
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Debug|x64.ActiveCfg = Debug|x64
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Debug|x64.Build.0 = Debug|x64
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Debug|x86.ActiveCfg = Debug|Win32
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Debug|x86.Build.0 = Debug|Win32
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Release|x64.ActiveCfg = Release|x64
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Release|x64.Build.0 = Release|x64
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Release|x86.ActiveCfg = Release|Win32
 | 
				
			||||||
 | 
							{06B7759E-7C98-4DA2-B1F6-78BC602B542E}.Release|x86.Build.0 = Release|Win32
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Debug|x64.ActiveCfg = Debug|x64
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Debug|x64.Build.0 = Debug|x64
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Debug|x86.ActiveCfg = Debug|Win32
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Debug|x86.Build.0 = Debug|Win32
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Release|x64.ActiveCfg = Release|x64
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Release|x64.Build.0 = Release|x64
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Release|x86.ActiveCfg = Release|Win32
 | 
				
			||||||
 | 
							{03725C01-C78A-4B04-82BA-B2904EDB050D}.Release|x86.Build.0 = Release|Win32
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ExtensibilityGlobals) = postSolution
 | 
				
			||||||
 | 
							SolutionGuid = {50F1A307-DA19-4616-A96E-F36C77B3B5C4}
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
					EndGlobal
 | 
				
			||||||
							
								
								
									
										138
									
								
								dynamicLib/dynamicLib.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								dynamicLib/dynamicLib.vcxproj
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,138 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup Label="ProjectConfigurations">
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Debug|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Debug</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Debug|x64">
 | 
				
			||||||
 | 
					      <Configuration>Debug</Configuration>
 | 
				
			||||||
 | 
					      <Platform>x64</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|x64">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>x64</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <VCProjectVersion>17.0</VCProjectVersion>
 | 
				
			||||||
 | 
					    <Keyword>Win32Proj</Keyword>
 | 
				
			||||||
 | 
					    <ProjectGuid>{06b7759e-7c98-4da2-b1f6-78bc602b542e}</ProjectGuid>
 | 
				
			||||||
 | 
					    <RootNamespace>dynamicLib</RootNamespace>
 | 
				
			||||||
 | 
					    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>true</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>false</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>DynamicLibrary</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>true</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>false</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v143</PlatformToolset>
 | 
				
			||||||
 | 
					    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
				
			||||||
 | 
					    <CharacterSet>Unicode</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionSettings">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="Shared">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="UserMacros" />
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <FunctionLevelLinking>true</FunctionLevelLinking>
 | 
				
			||||||
 | 
					      <IntrinsicFunctions>true</IntrinsicFunctions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
				
			||||||
 | 
					      <OptimizeReferences>true</OptimizeReferences>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <FunctionLevelLinking>true</FunctionLevelLinking>
 | 
				
			||||||
 | 
					      <IntrinsicFunctions>true</IntrinsicFunctions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
				
			||||||
 | 
					      <ConformanceMode>true</ConformanceMode>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
				
			||||||
 | 
					      <OptimizeReferences>true</OptimizeReferences>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="mylibcpp.cpp" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClInclude Include="Header.h" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionTargets">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										27
									
								
								dynamicLib/dynamicLib.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								dynamicLib/dynamicLib.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Filter Include="Исходные файлы">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Файлы заголовков">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="Файлы ресурсов">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
 | 
				
			||||||
 | 
					      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="mylibcpp.cpp">
 | 
				
			||||||
 | 
					      <Filter>Исходные файлы</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClInclude Include="Header.h">
 | 
				
			||||||
 | 
					      <Filter>Файлы заголовков</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										4
									
								
								dynamicLib/dynamicLib.vcxproj.user
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								dynamicLib/dynamicLib.vcxproj.user
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <PropertyGroup />
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										74
									
								
								dynamicLib/mylibcpp.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								dynamicLib/mylibcpp.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#include <string>
 | 
				
			||||||
 | 
					#include <filesystem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern "C"
 | 
				
			||||||
 | 
					__declspec(dllexport) int Pow(int num, int exp) {
 | 
				
			||||||
 | 
						for (int i = 1; i < exp; i++)
 | 
				
			||||||
 | 
							num *= num;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return num;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern "C"
 | 
				
			||||||
 | 
					__declspec(dllexport) bool Compare(int a, int b) {
 | 
				
			||||||
 | 
						return a > b;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern "C"
 | 
				
			||||||
 | 
					__declspec(dllexport) double SpeedConverter(double speed, string unit) {
 | 
				
			||||||
 | 
						if (unit == "kmh") {
 | 
				
			||||||
 | 
							cout << "Speed in Mile: " << speed * 0.621371 << endl;
 | 
				
			||||||
 | 
							return speed * 0.621371;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else if (unit == "mph") {
 | 
				
			||||||
 | 
							cout << "Speed in Km: " << speed * 1.60934 << endl;
 | 
				
			||||||
 | 
							return speed * 1.60934;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else {
 | 
				
			||||||
 | 
							cout << "Error speed Type! Unit: kmh or mph!" << endl;
 | 
				
			||||||
 | 
							return -1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern "C"
 | 
				
			||||||
 | 
					__declspec(dllexport) wstring FindSmallestFileInFolder() {
 | 
				
			||||||
 | 
						wstring folderPath;
 | 
				
			||||||
 | 
						wcout << L"Ââåäèòå ïóòü ê ïàïêå: ";
 | 
				
			||||||
 | 
						wcin >> folderPath;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						WIN32_FIND_DATA findFileData;
 | 
				
			||||||
 | 
						HANDLE hFind = FindFirstFile((folderPath + L"\\*").c_str(), &findFileData);
 | 
				
			||||||
 | 
						wstring smallestFilePath;
 | 
				
			||||||
 | 
						uintmax_t smallestSize = numeric_limits<uintmax_t>::max();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (hFind != INVALID_HANDLE_VALUE) {
 | 
				
			||||||
 | 
							do {
 | 
				
			||||||
 | 
								if ((findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) {
 | 
				
			||||||
 | 
									wstring filePath = folderPath + L"\\" + findFileData.cFileName;
 | 
				
			||||||
 | 
									uintmax_t fileSize = findFileData.nFileSizeLow;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (fileSize < smallestSize) {
 | 
				
			||||||
 | 
										smallestSize = fileSize;
 | 
				
			||||||
 | 
										smallestFilePath = filePath;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							} while (FindNextFile(hFind, &findFileData) != 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							FindClose(hFind);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (!smallestFilePath.empty()) {
 | 
				
			||||||
 | 
							wcout << L"Ñàìûé ìàëåíüêèé ôàéë íàõîäèòñÿ ïî ïóòè: " << smallestFilePath << endl;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else {
 | 
				
			||||||
 | 
							wcout << L"Â óêàçàííîé ïàïêå íåò ôàéëîâ" << endl;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return smallestFilePath;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user