Skip to content

Commit

Permalink
注释
Browse files Browse the repository at this point in the history
  • Loading branch information
forthespada committed Jun 1, 2020
0 parents commit 4acbe46
Show file tree
Hide file tree
Showing 16 changed files with 340 additions and 0 deletions.
Binary file added .vs/MyPoorWebServer/v16/.suo
Binary file not shown.
Binary file added .vs/MyPoorWebServer/v16/Browse.VC.db
Binary file not shown.
Binary file not shown.
51 changes: 51 additions & 0 deletions MyPoorWebServer.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29201.188
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MyPoorWebServer", "MyPoorWebServer.vcxproj", "{36E64CF1-03B0-44E6-8B1C-698805749A75}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|ARM.ActiveCfg = Debug|ARM
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|ARM.Build.0 = Debug|ARM
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|ARM.Deploy.0 = Debug|ARM
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|ARM64.ActiveCfg = Debug|ARM64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|ARM64.Build.0 = Debug|ARM64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|ARM64.Deploy.0 = Debug|ARM64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|x64.ActiveCfg = Debug|x64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|x64.Build.0 = Debug|x64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|x64.Deploy.0 = Debug|x64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|x86.ActiveCfg = Debug|x86
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|x86.Build.0 = Debug|x86
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Debug|x86.Deploy.0 = Debug|x86
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|ARM.ActiveCfg = Release|ARM
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|ARM.Build.0 = Release|ARM
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|ARM.Deploy.0 = Release|ARM
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|ARM64.ActiveCfg = Release|ARM64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|ARM64.Build.0 = Release|ARM64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|ARM64.Deploy.0 = Release|ARM64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|x64.ActiveCfg = Release|x64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|x64.Build.0 = Release|x64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|x64.Deploy.0 = Release|x64
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|x86.ActiveCfg = Release|x86
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|x86.Build.0 = Release|x86
{36E64CF1-03B0-44E6-8B1C-698805749A75}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {04D70FF7-DC21-4578-973C-3F1CF7C68C80}
EndGlobalSection
EndGlobal
85 changes: 85 additions & 0 deletions MyPoorWebServer.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http:https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x86">
<Configuration>Debug</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x86">
<Configuration>Release</Configuration>
<Platform>x86</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">
<ProjectGuid>{36e64cf1-03b0-44e6-8b1c-698805749a75}</ProjectGuid>
<Keyword>Linux</Keyword>
<RootNamespace>MyPoorWebServer</RootNamespace>
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
<ApplicationType>Linux</ApplicationType>
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemDefinitionGroup />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>
8 changes: 8 additions & 0 deletions main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <cstdio>

int main()
{

printf("hello from MyPoorWebServer!\n");
return 0;
}
Binary file added readme/images/ArchOptions.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/ChangeRemote.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/ManageConnections.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/OutputTypes.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/debuggerexport.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/firstconnection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/linker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/images/postbuild.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 77 additions & 0 deletions readme/readme.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>

<link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen">

<title>Getting Started</title>
</head>

<body>

<div class="container">
<div id="header">
<h1>Getting Started</h1>
<h2>Visual C++ for Linux Development</h2>
</div>

<table>
<tr>
<div id="main_content">

<td>
<div id="lpanel">
<h1>Setting up your project for Linux Development</h1>

<p>With this workload you can author C++ code for Linux servers, desktops and devices. You can manage your connections to these machines from within VS. VS will automatically copy and remotely build your sources and can launch your application with the debugger. Our project system supports targeting specific architectures, including ARM.</p>
<img src="images\ArchOptions.gif"/>

<h1>Connecting to Linux</h1>
<h2>Prerequisites</h2>
<p>Today we only support building remotely on the Linux target machine. We are not limited by specific Linux distros but we do have dependencies on the presence of some tools. Specifically, we need openssh-server, g++, gdb and gdbserver. Use your favorite package manager to install them, e.g. on Debian based systems: sudo apt-get install openssh-server g++ gdb gdbserver</p>

<h2>First connection</h2>
<p>The first time you target a Linux machine you will be prompted for connection information. This is triggered by building the project.</p>
<img src="images\firstconnection.png"/>

<h2>Adding and removing connections</h2>
<p>To add a new connection, go to Tools > Options and search for Connection, Connection Manager will be under Cross Platform. From here you can add and remove connections.</p>
<img src="images\ManageConnections.gif"/>

<p>To change which connection a project is using go to the project properties general settings and update the Remote Build Machine option.</p>
<img src="images\ChangeRemote.gif"/>

<h1>Project Properties</h1>
<p>All of the options necessary to control C++ compilation are exposed on the project properies pages. We'll cover a few specific to how things work for Linux. First under general settings, you will see the remote root is set to ~/projects/ by default and that we are setting the remote project directory to match our project name in that location. </p>
<img src="images\OutputTypes.gif"/>

<p>Looking at the General settings for the project, you can see how our output and intermediate directories were configured. Additionally, you’ll see that this project was configured as an application – thus our executable is under bin/x64/Debug/ as ConsoleApplication1.out. Notice that for configuration types we also support static and dynamic libraries.</p>

<p>Add additional library dependencies on the Linker > Input property page.</p>
<img src="images\linker.png"/>

<p>You can pass additional pre launch commands to the debugger to do things like launch graphical apps on the remote linux machine.</p>
<img src="images\debuggerexport.png"/>

<p>You can also send post build events to control remote behavior, as in this example that exports a gpio pin for use without requiring the executable run as super user.</p>
<img src="images\postbuild.png"/>

</div>
</td>
<td>
<div id="rpanel">

<h1>Resources</h1>

<p>Check out the <a href="http:https://aka.ms/vslinux">VC++ for Linux Development page</a> where we will keep updates posted and provider more in depth details on usage.</p>
<h1>Give us feedback</h1>
<p>Use the send feedback function in Visual Studio or contact us directly at <a href="mailto:[email protected]?subject=Linux%20Console%20App%20question">VC++ Linux Support</a></p>
</div>
</td>
</div>
</tr>
</table>
</div>
</body>
</html>
119 changes: 119 additions & 0 deletions readme/stylesheet.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
body {
margin: 0;
padding: 0;
border: 0;
color: #1E1E1E;
font-size: 13px;
font-family: "Segoe UI", Helvetica, Arial, sans-serif;
line-height: 1.45;
word-wrap: break-word;
}

/* General & 'Reset' Stuff */


.container {
width: 1100px;
margin: 0 auto;
}

section {
display: block;
margin: 0;
}

h1, h2, h3, h4, h5, h6 {
margin: 0;
}

table, tr {
width: 1100px;
padding: 0px;
vertical-align: top;
}

/* Header, <header>
header - container
h1 - project name
h2 - project description
*/

#header {
color: #FFF;
background: #68217a;
position:relative;
}
h1, h2 {
font-family: "Segoe UI Light", "Segoe UI", Helvetica, Arial, sans-serif;
line-height: 1;
margin: 0 18px;;
padding: 0;
}
#header h1 {
font-size: 3.4em;
padding-top: 18px;
font-weight: normal;
margin-left: 15px;
}

#header h2 {
font-size: 1.5em;
margin-top: 10px;
padding-bottom: 18px;
font-weight: normal;
}

#main_content {
width: 100%;
display: flex;
flex-direction: row;
}


h1, h2, h3, h4, h5, h6 {
font-weight: bolder;
}

#main_content h1 {
font-size: 1.8em;
margin-top: 34px;
}

#main_content h1:first-child {
margin-top: 30px;
}

#main_content h2 {
font-size: 1.8em;
}
p, ul {
margin: 11px 18px;
}

#main_content a {
color: #06C;
text-decoration: none;
}
ul {
margin-top: 13px;
margin-left: 18px;
padding-left: 0;
}
ul li {
margin-left: 18px;
padding-left: 0;
}
#lpanel {
width: 870px;
float: left;
}
#rpanel ul {
list-style-type: none;
}
#rpanel ul li {
line-height: 1.8em;
}
#rpanel {
background: #e7e7e7;
width: 230px;
}

0 comments on commit 4acbe46

Please sign in to comment.