commit 567ab26f024a617de2a17d942b6b1c2a28c7903a Author: Tommy Parnell Date: Sat Oct 3 10:51:05 2015 -0400 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..68e61ef --- /dev/null +++ b/.gitignore @@ -0,0 +1,217 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions \ No newline at end of file diff --git a/cppconsumer/App.config b/cppconsumer/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/cppconsumer/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/cppconsumer/Program.cs b/cppconsumer/Program.cs new file mode 100644 index 0000000..7f7d3fe --- /dev/null +++ b/cppconsumer/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace cppconsumer +{ + internal class Program + { + private static void Main(string[] args) + { + Console.WriteLine("2*3=" + multiply(2, 3)); + Console.ReadLine(); + } + + [DllImport("dynamiclib.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern int multiply(int a, int b); + } +} \ No newline at end of file diff --git a/cppconsumer/Properties/AssemblyInfo.cs b/cppconsumer/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..37d6992 --- /dev/null +++ b/cppconsumer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("cppconsumer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("cppconsumer")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e071e809-7a4f-4af6-ba91-ee4dd8da95b5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/cppconsumer/cppconsumer.csproj b/cppconsumer/cppconsumer.csproj new file mode 100644 index 0000000..e496412 --- /dev/null +++ b/cppconsumer/cppconsumer.csproj @@ -0,0 +1,60 @@ + + + + + Debug + AnyCPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5} + Exe + Properties + cppconsumer + cppconsumer + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + ..\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cpptutorial.sln b/cpptutorial.sln new file mode 100644 index 0000000..24a7f2e --- /dev/null +++ b/cpptutorial.sln @@ -0,0 +1,73 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpptutorial", "cpptutorial\cpptutorial.vcxproj", "{96CC59E4-B0D6-4833-A518-D34EE566E763}" + ProjectSection(ProjectDependencies) = postProject + {A0F51B95-9B31-44CA-89F0-413BC2D976BF} = {A0F51B95-9B31-44CA-89F0-413BC2D976BF} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "staticlib", "staticlib\staticlib.vcxproj", "{A0F51B95-9B31-44CA-89F0-413BC2D976BF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamiclib", "dynamiclib\dynamiclib.vcxproj", "{605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cppconsumer", "cppconsumer\cppconsumer.csproj", "{E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Debug|x64.ActiveCfg = Debug|x64 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Debug|x64.Build.0 = Debug|x64 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Debug|x86.ActiveCfg = Debug|Win32 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Debug|x86.Build.0 = Debug|Win32 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Release|Any CPU.ActiveCfg = Release|Win32 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Release|x64.ActiveCfg = Release|x64 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Release|x64.Build.0 = Release|x64 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Release|x86.ActiveCfg = Release|Win32 + {96CC59E4-B0D6-4833-A518-D34EE566E763}.Release|x86.Build.0 = Release|Win32 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Debug|x64.ActiveCfg = Debug|x64 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Debug|x64.Build.0 = Debug|x64 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Debug|x86.ActiveCfg = Debug|Win32 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Debug|x86.Build.0 = Debug|Win32 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Release|Any CPU.ActiveCfg = Release|Win32 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Release|x64.ActiveCfg = Release|x64 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Release|x64.Build.0 = Release|x64 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Release|x86.ActiveCfg = Release|Win32 + {A0F51B95-9B31-44CA-89F0-413BC2D976BF}.Release|x86.Build.0 = Release|Win32 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Debug|x64.ActiveCfg = Debug|x64 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Debug|x64.Build.0 = Debug|x64 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Debug|x86.ActiveCfg = Debug|Win32 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Debug|x86.Build.0 = Debug|Win32 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Release|Any CPU.ActiveCfg = Release|Win32 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Release|x64.ActiveCfg = Release|x64 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Release|x64.Build.0 = Release|x64 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Release|x86.ActiveCfg = Release|Win32 + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3}.Release|x86.Build.0 = Release|Win32 + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Debug|x64.ActiveCfg = Debug|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Debug|x64.Build.0 = Debug|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Debug|x86.ActiveCfg = Debug|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Debug|x86.Build.0 = Debug|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Release|Any CPU.Build.0 = Release|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Release|x64.ActiveCfg = Release|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Release|x64.Build.0 = Release|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Release|x86.ActiveCfg = Release|Any CPU + {E071E809-7A4F-4AF6-BA91-EE4DD8DA95B5}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cpptutorial/cpptutorial.vcxproj b/cpptutorial/cpptutorial.vcxproj new file mode 100644 index 0000000..4ae054f --- /dev/null +++ b/cpptutorial/cpptutorial.vcxproj @@ -0,0 +1,137 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {96CC59E4-B0D6-4833-A518-D34EE566E763} + cpptutorial + 8.1 + + + + Application + true + v140 + MultiByte + + + Application + false + v140 + true + MultiByte + + + Application + true + v140 + MultiByte + + + Application + false + v140 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + true + + + true + dynamiclib.lib;staticlib.lib;%(AdditionalDependencies) + $(OutDir);%(AdditionalLibraryDirectories) + + + + + Level3 + Disabled + true + + + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + true + + + + + + + + + + + + {605db09c-12f2-4bce-b6ed-b166a9daaba3} + + + + + + \ No newline at end of file diff --git a/cpptutorial/cpptutorial.vcxproj.filters b/cpptutorial/cpptutorial.vcxproj.filters new file mode 100644 index 0000000..7fc9cb2 --- /dev/null +++ b/cpptutorial/cpptutorial.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/cpptutorial/foo.cpp b/cpptutorial/foo.cpp new file mode 100644 index 0000000..8f41f8b --- /dev/null +++ b/cpptutorial/foo.cpp @@ -0,0 +1,5 @@ +#include "foo.h" +int add1(int n) +{ + return n + 1; +} \ No newline at end of file diff --git a/cpptutorial/foo.h b/cpptutorial/foo.h new file mode 100644 index 0000000..c9aa445 --- /dev/null +++ b/cpptutorial/foo.h @@ -0,0 +1,2 @@ +#pragma once +int add1(int n); \ No newline at end of file diff --git a/cpptutorial/main.cpp b/cpptutorial/main.cpp new file mode 100644 index 0000000..3013935 --- /dev/null +++ b/cpptutorial/main.cpp @@ -0,0 +1,21 @@ +#include +#include +#include "foo.h" +#include "../staticlib/foo.h" +#include "../dynamiclib/dynamiclib.h" + +using namespace std; +#if _DEBUG +void foo() {} +#endif +#define MUL(a,b) a*b +int main() +{ + int one = add1(5); + assert(MUL(one, 1) == 6); + cout << multiply(2, 3) << endl; + cout << "2+3=" << add(2, 3) << endl; + cout << "Hello, C++" << endl; + getchar(); + return 0; +} \ No newline at end of file diff --git a/dynamiclib/ReadMe.txt b/dynamiclib/ReadMe.txt new file mode 100644 index 0000000..82deb33 --- /dev/null +++ b/dynamiclib/ReadMe.txt @@ -0,0 +1,40 @@ +======================================================================== + DYNAMIC LINK LIBRARY : dynamiclib Project Overview +======================================================================== + +AppWizard has created this dynamiclib DLL for you. + +This file contains a summary of what you will find in each of the files that +make up your dynamiclib application. + + +dynamiclib.vcxproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +dynamiclib.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +dynamiclib.cpp + This is the main DLL source file. + +///////////////////////////////////////////////////////////////////////////// +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named dynamiclib.pch and a precompiled types file named StdAfx.obj. + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/dynamiclib/dllmain.cpp b/dynamiclib/dllmain.cpp new file mode 100644 index 0000000..07a0b1d --- /dev/null +++ b/dynamiclib/dllmain.cpp @@ -0,0 +1,18 @@ +// dllmain.cpp : Defines the entry point for the DLL application. +#include "stdafx.h" + +BOOL APIENTRY DllMain(HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} \ No newline at end of file diff --git a/dynamiclib/dynamiclib.cpp b/dynamiclib/dynamiclib.cpp new file mode 100644 index 0000000..f172b6e --- /dev/null +++ b/dynamiclib/dynamiclib.cpp @@ -0,0 +1,26 @@ +// dynamiclib.cpp : Defines the exported functions for the DLL application. +// + +#include "stdafx.h" +#include "dynamiclib.h" + +// This is an example of an exported variable +DYNAMICLIB_API int ndynamiclib = 0; + +// This is an example of an exported function. +DYNAMICLIB_API int fndynamiclib(void) +{ + return 42; +} + +// This is the constructor of a class that has been exported. +// see dynamiclib.h for the class definition +Cdynamiclib::Cdynamiclib() +{ + return; +} + +DYNAMICLIB_API int multiply(int a, int b) +{ + return a*b; +} \ No newline at end of file diff --git a/dynamiclib/dynamiclib.h b/dynamiclib/dynamiclib.h new file mode 100644 index 0000000..bf9146f --- /dev/null +++ b/dynamiclib/dynamiclib.h @@ -0,0 +1,25 @@ +// The following ifdef block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the DYNAMICLIB_EXPORTS +// symbol defined on the command line. This symbol should not be defined on any project +// that uses this DLL. This way any other project whose source files include this file see +// DYNAMICLIB_API functions as being imported from a DLL, whereas this DLL sees symbols +// defined with this macro as being exported. +#ifdef DYNAMICLIB_EXPORTS +#define DYNAMICLIB_API __declspec(dllexport) +#else +#define DYNAMICLIB_API __declspec(dllimport) +#endif + +// This class is exported from the dynamiclib.dll +class DYNAMICLIB_API Cdynamiclib +{ +public: + Cdynamiclib(void); + // TODO: add your methods here. +}; + +extern DYNAMICLIB_API int ndynamiclib; + +DYNAMICLIB_API int fndynamiclib(void); + +extern "C" DYNAMICLIB_API int multiply(int, int); \ No newline at end of file diff --git a/dynamiclib/dynamiclib.vcxproj b/dynamiclib/dynamiclib.vcxproj new file mode 100644 index 0000000..82c7d7d --- /dev/null +++ b/dynamiclib/dynamiclib.vcxproj @@ -0,0 +1,174 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {605DB09C-12F2-4BCE-B6ED-B166A9DAABA3} + Win32Proj + dynamiclib + 8.1 + + + + DynamicLibrary + true + v140 + Unicode + + + DynamicLibrary + false + v140 + true + Unicode + + + DynamicLibrary + true + v140 + Unicode + + + DynamicLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;DYNAMICLIB_EXPORTS;%(PreprocessorDefinitions) + + + Windows + true + + + + + Use + Level3 + Disabled + _DEBUG;_WINDOWS;_USRDLL;DYNAMICLIB_EXPORTS;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;DYNAMICLIB_EXPORTS;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + Level3 + Use + MaxSpeed + true + true + NDEBUG;_WINDOWS;_USRDLL;DYNAMICLIB_EXPORTS;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + + + + + + + + false + + + false + + + false + + + false + + + + + + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/dynamiclib/dynamiclib.vcxproj.filters b/dynamiclib/dynamiclib.vcxproj.filters new file mode 100644 index 0000000..1512635 --- /dev/null +++ b/dynamiclib/dynamiclib.vcxproj.filters @@ -0,0 +1,42 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/dynamiclib/stdafx.cpp b/dynamiclib/stdafx.cpp new file mode 100644 index 0000000..82f5f90 --- /dev/null +++ b/dynamiclib/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// dynamiclib.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/dynamiclib/stdafx.h b/dynamiclib/stdafx.h new file mode 100644 index 0000000..f3a0737 --- /dev/null +++ b/dynamiclib/stdafx.h @@ -0,0 +1,16 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "targetver.h" + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files: +#include + + + +// TODO: reference additional headers your program requires here diff --git a/dynamiclib/targetver.h b/dynamiclib/targetver.h new file mode 100644 index 0000000..87c0086 --- /dev/null +++ b/dynamiclib/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// Including SDKDDKVer.h defines the highest available Windows platform. + +// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and +// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + +#include diff --git a/staticlib/ReadMe.txt b/staticlib/ReadMe.txt new file mode 100644 index 0000000..267bef2 --- /dev/null +++ b/staticlib/ReadMe.txt @@ -0,0 +1,29 @@ +======================================================================== + STATIC LIBRARY : staticlib Project Overview +======================================================================== + +AppWizard has created this staticlib library project for you. + +No source files were created as part of your project. + + +staticlib.vcxproj + This is the main project file for VC++ projects generated using an Application Wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + Application Wizard. + +staticlib.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" comments to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/staticlib/foo.cpp b/staticlib/foo.cpp new file mode 100644 index 0000000..78d5dec --- /dev/null +++ b/staticlib/foo.cpp @@ -0,0 +1,6 @@ +#include "foo.h" + +int add(int a, int b) +{ + return a + b; +} \ No newline at end of file diff --git a/staticlib/foo.h b/staticlib/foo.h new file mode 100644 index 0000000..6a50e92 --- /dev/null +++ b/staticlib/foo.h @@ -0,0 +1,2 @@ +#pragma once +int add(int, int); \ No newline at end of file diff --git a/staticlib/staticlib.vcxproj b/staticlib/staticlib.vcxproj new file mode 100644 index 0000000..7143d57 --- /dev/null +++ b/staticlib/staticlib.vcxproj @@ -0,0 +1,145 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {A0F51B95-9B31-44CA-89F0-413BC2D976BF} + Win32Proj + staticlib + 8.1 + + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/staticlib/staticlib.vcxproj.filters b/staticlib/staticlib.vcxproj.filters new file mode 100644 index 0000000..49739a6 --- /dev/null +++ b/staticlib/staticlib.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + + + Header Files + + + + + Source Files + + + \ No newline at end of file