目录

背景

我希望实现的目标

介绍

这本书的封面是什么?

这本书是给谁的?

以应用为中心

这本书不是什么

这本书是什么

GitHub上的所有源代码

DotNet Core

MacOS奖金

第2章——进入.NET Core

Linux终端

测试dotnet可执行性

安装.NET Core SDK

我运行Ubuntu 18.04和Debian 10

Ubuntu 18.04或Debian 10

Linux Sudo(超级用户)

安装Sudo

将用户添加到Sudo文件

退出Root

注销/登录

安装.NET Core SDK

.NET Core运行时

一切都已安装

$ Prompt :Linux终端

Dotnet 是可执行的

我们需要一个代码编辑器

Visual Studio Code不是Visual Studio

安装Visual Studio Code(VSC)

运行Visual Studio Code的安装

Visual Studio Code安装完成

创建一个新项目

设置目录

Linux提示符显示什么

主目录

创建目录(mkdir)

主(Home)目录 (~) 确实有帮助

dotnet new

文件夹中的文件夹

Visual Studio Code

安装插件

带数字的小蓝色圆圈

这个程序是如何运行的?

System.Console库

像盒子一样的库

总结


  • GitHub下载源代码-raddevus / ProgLinuxWDNC:《
    使用.NET Core编程Linux》一书的源代码 [ ^ ]

背景

大约一年前,我建造了一台新的台式计算机,并安装了Win10和Ubuntu作为双启动计算机。

我很快迷上了Ubuntu和Linux。我已经有8个月没有在这台机器上启动Win10了。

自Win 3.1以来,我一直在Windows系统上运行和开发,因此这很重要。但是,我真的很喜欢Microsoft的开发环境和工作方式。当我最近发现自己可以编写在Windows和Linux上都可以运行的C#代码时,我感到非常兴奋。在Windows上编写代码,然后将其引入并在Linux上构建和运行它而无需做任何更改,这真是太神奇了。不,您仍然无法在Linux上构建Windows Form应用程序,但是看看其他的。在不需要Windows窗体或图形用户界面的情况下,还可以做很多其他事情。这就是为什么我决定写这本书的原因。我只想看看仅使用Visual Studio Code和.NET Core SDK可以做什么。

我希望实现的目标

我只是想写一本可访问(任何人都可以编码)的有趣的书,它使我和我的读者对使用.NET Core在Linux平台上可以做的事情有所了解。我希望它甚至可以追溯到K&R C-尽管我的肯定不会像那个伟大的小资源那样清晰和直接。最后,我希望我能提供一些有关Linux上的.NET和C#的入门知识,以激发读者从开发中获得乐趣。

介绍

这本书的封面是什么?

本书侧重于使用Visual Studio Code和Linux命令行基于DotNet Core 3.x创建和构建项目和应用程序。

所有程序都将用C#编写。当然,基于Web的项目可能包括TypeScript、JavaScript、CSS、HTML等。

这本书是给谁的?

本书非常快速地介绍了使用DotNet Core进行Linux编程。如果您是一个勇敢的初学者,则可以使用该书开始使用C#和DotNet Core 3.x库在Linux(我运行Ubuntu)上学习和编写软件。

我将尽我所能介绍资料,即使您是初学者,也可以按照以下步骤开始学习。但是,我可能会在某些话题上讲得很快,而你可能需要其他资源来在某些主题上获得更深入的了解。

本书的主要读者是具有一定开发经验的人。如果您已经进行了至少三到六个月的编码,并且喜欢编程,那么您会在这里做的很好。如果您有更多的经验,我相信您会发现这是对可以使用DotNet Core 3.x和相关技术在Linux上创建的各种事物的不错的介绍。

以应用为中心

我将提供涉及的所有主题的示例代码,但不仅限于示例代码。我们将通过至少三个完整的实用程序(通常是基于控制台的——文本用户界面TUI),以及一些适当的Web应用程序进行工作。

我不会关注用户界面问题。本书更多是关于代码的,而很少涉及用户界面(UI)。但是,我喜欢创建尽可能易于使用的应用程序,以便在适当和适用的地方,我将讨论如何创建良好的用户体验(UX),尽管图形UI可能并不总是如此。并且,当它是图形UI时,它可能是基于Web的UI。

这本书不是什么

再次,这本书是关于使用dotnet命令行和Visual Studio Code学习在Linux环境中编程的。它是关于学习编码的,仅略微强调如何创建用户界面。如果您正在寻找创建WinForm应用程序的Linux版本,这并不是。

这本书是什么

但是,如果您有兴趣学习dotnet Core,C#,编写实用程序并了解有关Linux基础的更多信息,那么这里就是您的理想选择。

我真的认为这本书是一个业余爱好者在学习通过Linux运行的DotNet Core编程。它应该很有趣...但是我是一个极客。:)

GitHub上的所有源代码

我将在GitHub存储库(repo)中提供所有代码,并且所有代码都是开源的,可免费用于您自己的项目中。

DotNet Core

dotnet命令行(基于控制台)应用程序非常出色,并且非常易于使用。如果您是Linux用户,则可能还是习惯于使用命令行。本书将重点介绍使用dotnet控制台应用程序来做我们能做的所有事情。这包括创建项目,从源文件编译和构建,添加库以及其他所有内容。

那应该使您对本书的工作方式和学习内容有所了解。现在,让我们开始安装dotnet core,Visual Studio Code并编写我们的第一个控制台应用程序。

MacOS奖金

我也在MacMini上测试了这些程序。您可以安装Visual Studio Code,.NET Core SDK和.NET Core运行时,并在终端窗口中运行所有内容,即使Mac默认情况下运行zsh(shell)也是如此。

无论您运行的是Mac还是Linux,本书中遵循的命令都是相同的。仅供参考——安装Visual Studio Code和.NET SDK等时可能会有一些差异,但是这些差异足够容易,您可以找出它们。

第2章——进入.NET Core

  • Linux终端(命令行)
  • 安装.Net Core 3 SDK和运行时
  • 安装Visual Studio Code
  • 构建并运行我们的第一个控制台(终端)程序

Linux终端

我们要做的第一件事是打开一个终端,检查是否安装了dotnet。

如果在Linux机器上找不到终端,并且正在运行Gnome桌面(例如我在Ubuntu上),则可以单击“活动菜单(有点像Win10的“开始”按钮),然后键入:terminal。

最后,只需单击“终端图标,它将为您打开。

测试dotnet可执行性

出现命令提示符后,键入以下内容,然后按<ENTER>

dotnet --version

如果您在尚未安装dotnet sdk的系统上,那么您会得到类似我的截图内容,找不到该命令。

安装.NET Core SDK

让我们安装dotnet。

打开您喜欢的Web浏览器(我的FireFox),然后转到:https://dotnet.microsoft.com/download。

您会看到类似以下内容:

继续并单击[Install .NET Core]按钮。

这将带您进入一个很长的页面,其中列出了可以在其上安装.NET Core的所有各种Linux发行版(在本书中,我可能会更改对dotnet core的引用方式)。

我运行Ubuntu 18.04和Debian 10

我实际上正在将Ubuntu 18.04 Desktop作为主机运行。但是,您可能会注意到我遵循的是Debian安装。那是因为我在一个VirtualBox实例中运行Debian(带有Gnome桌面),所以我可以指导您完成所有新的安装工作。经过测试后,我确定在Ubuntu 18.04和Debian 10上安装的命令完全相同,因此它们是可互换的。这是因为Ubuntu基于Debian。

Ubuntu 18.04或Debian 10

这是开始在Ubuntu 18.04上安装所需的第一步:

复制以下内容,将其粘贴到终端中,然后按<ENTER>,它将开始运行。

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
-O packages-microsoft-prod.deb

完成后,复制下一行并将其粘贴到终端窗口中,然后按<ENTER>

sudo dpkg -i packages-microsoft-prod.deb

您可以看到第一个命令已运行,现在终端正在等待我按下<ENTER>以启动第二个命令:

我实际上在运行dpkg命令时忘记添加sudo,然后出现错误。但是,这里是我在sudo下再次运行它时发生的事情。

键入密码后,我看到以下内容:

它提到了sudoers文件,该文件包含一个允许提升为超级用户状态的用户名。

Linux Sudo(超级用户)

这很重要,因为这本书也是关于学习Linux的,而且您一定会遇到这些问题。

让我们看看如何解决此问题。

键入su root并按<ENTER> 

系统将提示您输入root密码。我希望你还记得。:)

我输入的是我的,现在您可以看到我以root用户身份登录,因为在下一个图像中,提示符具有显示已登录用户的root@debian前缀。

我们需要给我的用户帐户,raddev,sudo权限。对于您的情况,您需要赋予用户名sudo权限。

安装Sudo

为此,您可能需要像我一样安装sudo。

输入以下内容,然后按<ENTER>

apt-get install sudo -y

将用户添加到Sudo文件

现在,您可以将用户添加到sudo文件。

输入以下内容,然后再次按<ENTER>

sudo adduser raddev sudo

退出Root

现在,让我们从root用户退出。为此,请键入:

exit

然后按<ENTER>

您将重新使用您的用户帐户。现在,让我们尝试再次安装dotnet core sdk。

注销/登录

我的,没用工作。我再次尝试,发现您需要注销并重新登录(或重新启动),然后您的帐户才能拥有sudo权限,因此请继续注销并重新登录。那对我有用。

登录后,继续并再次打开终端,然后再次运行以下命令:

sudo dpkg -i packages-microsoft-prod.db

我的安装是成功的。

安装.NET Core SDK

.NET Core SDK是具有所有.NET Core功能的一组库,这些功能使您可以在.NET Core中编写程序。这是Microsoft创建的一组库,这些库包装了操作系统调用以创建文件,从用户获取输入,向用户显示输出以及数千种其他内容。SDK代表软件开发套件。

这是用于构建在.NET Core之上运行的自定义程序的工具包。

当您学习如何使用.NET Core SDK编写程序时,您将学习如何在.NET Core中进行编程。

现在,我们使用以下长的多行命令安装主要的dotnet sdk:

sudo apt-get update; \sudo apt-get install -y apt-transport-https && \sudo apt-get update && \sudo apt-get install -y dotnet-sdk-3.1

将其复制并粘贴到您的终端中,按<ENTER>,它将开始安装。

完成后,您将看到类似以下的内容:

.NET Core运行时

现在,我们需要安装DotNet Core运行时。.NET Core Runtime是实际将运行您编写的代码的应用程序。您将编写代码来调用.NET Core SDK中的函数,然后将代码构建为可执行文件并在.NET Runtime中运行该代码。

这是我们将在终端窗口中运行的命令:

sudo apt-get update; \sudo apt-get install -y apt-transport-https && \sudo apt-get update && \sudo apt-get install -y aspnetcore-runtime-3.1

结果如下:

一切都已安装

这就是dotnet Core sdk和运行时所需的一切。让我们检查一下,看看有什么。

$ Prompt :Linux终端

现在,我将仅向您显示$提示,然后输入您要输入的命令。

这样,我就不用再说了,输入<ENTER>

它看起来像:

$命令的命令选项

$ ls -al

每当您看到该命令时,请按照显示的命令运行。当然,要在终端中提交任何命令,您必须按<ENTER>

Dotnet 是可执行的

现在已经安装了.NET Core,我们可以运行dotnet命令。

如果我们将--version传递给dotnet命令,它将使我们知道安装了哪个版本。

转到终端并输入:

$ dotnet --version 

注意:请记住,这些命令区分大小写,因此您需要完全按此处显示的方式键入它们。

我们将在许多方面使用dotnet,因此我们将在其中看到更多信息。我们将使用它来创建我们的项目,构建代码,运行我们的应用程序等等。但是,现在,我们需要一个代码编辑器。

我们需要一个代码编辑器

我们正在开发第一个应用程序。但是,我们需要一个使编写代码更容易的编辑器。当然,本书中使用的编辑器是免费提供的Visual Studio Code。

Visual Studio Code不是Visual Studio

请记住,Visual Studio Code是轻量级的编辑器(与Visual Studio相比)。

Visual Studio实际上不会在Linux上运行。有Mac版本的Visual Studio,但没有Linux版本。但这很好,因为Visual Studio Code是出色的编辑器,并且非常接近完整的IDE(集成开发环境)。

Visual Studio Code并没有Visual Studio拥有的所有项目模板和所有工具,但是我相信,一旦运行它,您会感到惊讶。

我们最终将学习如何添加调试器插件,使我们可以逐步完成代码。

安装Visual Studio Code(VSC)

要了解有关VSC的更多信息,只需将您喜欢的浏览器指向:https://code.visualstudio.com

但是,有一种比从站点下载Debian软件包更好的安装Visual Studio Code的方法。我将引导您完成在Linux上安装Visual Studio Code的最流畅、最佳方法。

是的,这是更多终端安装。运行以下命令:

$ sudo apt update

接下来,运行此命令:

$ sudo apt install software-properties-common apt-transport-https curl

它将确认您要安装软件包。键入y,然后按<回车>

现在,我们使用curl导入获取Microsoft应用程序所需的Microsoft GPG密钥(安全密钥)。

必须将Visual Studio Code存储库添加到我们的系统中,以便可以安装它。

注意:以下命令很长,以至于可以换行到下一行,但是该行中没有回车符。

$ sudo add-apt-repository "deb [arch=amd64]
https://packages.microsoft.com/repos/vscode stable main"

没有输出,它仅安装存储库并返回到提示。

运行以下命令:

$ sudo apt update

您可以看到新的Microsoft存储库列表已被读入。

运行Visual Studio Code的安装

现在,我们终于可以安装Visual Studio Code。

$ sudo apt install code

Visual Studio Code安装完成

Visual Studio Code已正式安装。

让我们开始吧。

单击活动,然后在搜索栏中键入“Visual”。您将看到Visual Studio Code图标。

单击该图标,Visual Studio Code将启动。

若要学习如何使用Visual Studio Code(VSC),我们需要创建一个项目,以便我们可以开始研究Visual Studio Code的许多功能。

创建一个新项目

让我们切换回终端窗口,并使用dotnet命令行工具创建一个项目。

设置目录

让我们花一点时间讨论如何设置目录以组织开发工作。

在主目录中,创建一个名为dev的目录。

在该目录下,我将拥有以我正在使用的各种技术类型命名的目录,例如webdev,dotnet,C ++等。

在本例中,我们将从主目录创建一个名为dev的目录,然后在该目录下创建一个dotnet目录。

Linux提示符显示什么

这是我在该目录中时的提示内容:

raddev@raddev-1:~/dev/dotnet$

这意味着用户raddev登录到名称为raddev-1的计算机上。

在冒号(:)之后,您可以看到当前路径,即~/dev/dotnet,最后有提示$。您键入的任何内容都会在$提示后出现。

主目录

请记住,~代表您的主目录。这意味着如果您给出命令:

$ cd ~

然后,您将被移到主目录。

但是,该目录的完整路径是/home/username,其中username是您的用户名。

打印工作目录(pwd)

如果您想查看所在目录的完整路径,可以发出以下pwd命令:

$ pwd

正如你所看到的,我做了更改目录(cd)到home ~然后我做了一个PWD,现在我在目录/home/raddev中。

现在,您将更好地了解Linux文件系统中的位置。

我在目录下创建了一个dev目录。在dev目录下,我创建了一个dotnet目录。我将使用以下命令从home中移回目录:

$cd dev/dotnet

创建目录(mkdir)

您可以复制/粘贴下面的命令并立即运行它,然后您将拥有与我相同的目录结构。

$ mkdir -p ~/dev/dotnet

这将在您的home目录下创建dev目录,并在dev目录下创建dotnet目录。

-p参数创建可能不存在的任何父目录(dev)。

主(Home)目录 (~) 确实有帮助

~代表您的主目录/home/username非常酷,因为我不必知道您的用户名即可为您提供良好的mkdir命令。相反,我们只使用~来指代路径的那部分。

运行命令后,继续并将目录更改为目录。

$ cd ~/dev/dotnet

进入目录后,您将知道自己所在的位置,因为您会在$提示符之前看到路径。

我们准备创建一个新的dotnet项目。

我们将创建一个基于控制台(终端)的简单程序。这很容易做到。

我们要做的就是告诉dotnet两件事:

  1. 我们要创建什么类型的项目(控制台)

    • 我们必须告诉它项目的类型,因为您将看到,您可以使用dotnet命令创建许多不同类型的.NET项目。
  2. 我们要为新项目命名的名称。

dotnet new

确保您位于正确的文件夹(~/dev/dotnet/)中。继续运行命令:

$dotnet new console -o FirstConsole

文件夹中的文件夹

在DOTNET命令中的-o告诉DOTNET项目的输出名称。这将在您当前所在的文件夹中创建一个新文件夹。这就是为什么要位于~/dev/dotnet文件夹中。创建项目后,您将拥有一个新文件夹~/deve/dotnet/FirstConsole/,该文件夹内将是dotnet命令创建的所有项目文件。

将目录更改为新的项目目录:

$ cd FirstConsole

列出目录(lsl):

$ ls -al

此项目中只有一个源文件(Program.cs)。另一个文件是项目文件。

我们现在可以构建程序。

$ dotnet build

该程序成功编译并生成,因为我们没有收到任何警告或错误。

现在,我们可以运行该程序了。

$ dotnet run

就是这样。仅一行输出。

顺便说一句,当您给出一个命令时,dotnet将为您构建并运行该应用程序:

$ dotnet run

这样,如果您只想运行该应用程序但已进行了更改,则只需给出一个命令,然后dotnet会为您完成所有工作。

Visual Studio Code

让我们在Visual Studio Code中打开该项目,并查看源代码以结束第一章。

如果VSC没有打开,请继续打开它。

您会在VSC中看到正常的起始页。

转到[文件]菜单,然后选择[打开文件夹...]菜单项。

选择菜单项后,将打开文件浏览器应用程序。

您将单击左侧的[主页],然后向下导航至dev/dotnet/然后选择dotnet为您的项目创建的FirstConsole文件夹。

单击FirstConsole文件夹后,然后单击右上角的[确定]按钮。

Visual Studio Code将加​​载文件夹和文件,并将它们显示在左侧的文件视图中。

您会看到VSC标题栏包含项目的名称(FirstConsole)。

并且,在左侧,有七个图标(顶部为5,底部为2),可用于导航至其他VSC功能。

当前选择了文件视图图标

放大镜是搜索功能。

三节点形状允许您访问版本控制软件Git。这使您可以跟踪源代码中的更改。

带有三角形的错误使您可以访问调试器。

带四个块的图标使您可以访问有助于扩展VSC功能的插件。其中之一对于使用至关重要,因为它将提供Intellisense功能(代码完成和信息),并允许我们逐行调试和逐步执行C#代码。

圆人图标可让您登录到Microsoft开发人员帐户。

最后,使用该工具可以访问VSC配置项,并检查更新和更多内容。

现在没有打开的文件,但是让我们继续,在文件导航器中单击Program.cs文件,以便我们可以编辑一些代码。

安装插件

当您单击该项目时,您将看到代码显示在右侧,而小的弹出对话框将出现在VSC的右侧。

VSC知道您打开了C#文件,因此它试图通过让您知道要安装C#插件来提供帮助,该插件将为您提供更多功能。继续并单击[安装]按钮。

完成后,它将开始安装。

请注意,现已选择插件图标(突出显示的白色)。您可以看到已安装了Linux版OmniSharp软件包(x64)。

再次单击文件浏览器图标(顶部图标),以便您可以再次看到C# Program.cs文件。

选择左侧的Program.cs文件,以便该文件在编辑器中打开。

让我们改变输出到控制台(终端)的文本,这样就不只是“Hello World!”,用户将看到“Hello, Linux-World!”。

您所要做的就是单击文件内部,然后在双引号之间键入该代码。

Console.WriteLine("Hello, Linux-World!");

带数字的小蓝色圆圈

您可能会在左上方的文档图标顶部看到一个带有数字的蓝色小圆圈。这表明该文件已更改但尚未保存。

继续并保存文件(CTRL + s),蓝色圆圈将消失。显然,要在运行程序时看到对源代码所做的更改,必须将它们保存到文件中。

转回您的终端。您仍应位于~/dev/dotnet/FirstConsole目录中。

运行以下命令,您将看到所做的更改。请记住,执行run命令时,如果发生更改,您还告诉dotnet构建源代码。

$ dotnet run

这个程序是如何运行的?

基本代码仅定义Main()方法或函数。这被认为是应用程序的入口点。那只是意味着一切开始。

这意味着当您告诉dotnet构建应用程序时,它会设置一些内部内容,以便操作系统知道从何处启动程序。

该程序启动时,只有一个命令可以运行(Console.WriteLine)。

System.Console库

该命令实际上是C#开发人员编写的函数。实际的函数名称是WriteLine,但他们将函数放在名为Console的库中。他们这样做是为了组织职能。实际上,库的全名是System.Console。

之所以看不到该System名称的一部分,是因为它已经添加到Program.cs文件的顶部(using System;),因此您不必每次都键入它。

像盒子一样的库

您可以将这些库视为盒子。当您要运行特定功能时,需要转到正确的盒子并在其中查看。某些盒子(库)中还有其他盒子。

在我们的例子中,我们查看了系统库(盒子)内部,找到了控制台库,然后在其中找到了一个名为WriteLine()的方法或函数,该方法或函数知道如何将消息输出到终端(控制台)窗口。

您可以查找此库并在Microsoft的开发人员网站上正常运行。它看起来像以下内容:

https://docs.microsoft.com/zh-cn/dotnet/api/system.console.writeline?view=netcore-3.1

注意,在左侧,您可以看到已选择该WriteLine方法,而在右侧,我们看到了说明该方法的主文档。

从顶部开始,我们看到名称Console.WriteLine,接下来是系统的命名空间(库或框)。我们接下来看到的是Assembly:System.Console.dll。这是我们安装的.NET Core SDK一部分的实际文件。这是一个特殊的文件,其中包含我们从程序中调用的功能(方法)。DLL代表动态链接库。这是一种幻想的表达方式,您可以根据需要(动态)将此特殊库链接到您的程序中,以便拥有Microsoft开发人员为您使用而创建的功能。

最后,在“重载”部分(这意味着有很多方法可以调用该WriteLine方法)下,我们看到了第二个选项WriteLine(String)和一个定义(以灰色突出显示)。

这是我们正在使用的WriteLine()方法的形式。我们给它传递一个String(用双引号引起的一个或多个字符表示一种String类型)。

当我们传递String时,它将其写入标准输出流(终端)。

在本书中,我们将介绍更多细节。现在,这是对第一个基本程序中正在发生的事情的很好的坚实理解。

总结

这是对编程领域和Linux领域的长期介绍。您已经学到了很多,现在您已经了解了:

  1. 如何使用Visual Studio Code
  2. 如何在Linux文件系统中移动
  3. 如何建立目录
  4. 如何使用dotnet命令创建、构建和运行项目
  5. 一个简单的控制台应用程序的功能及其如何执行的基础知识

请阅读下一篇的 使用.NET Core 3进行Linux编程:第3章 。

使用.NET Core进行Linux编程3:简介和第2章相关推荐

  1. linux编程是否含7,第7章Linux编程简介.ppt

    第7章Linux编程简介 ARM 应用系统设计第7章 Linux编程简介 佘黎煌 东北大学信息科学与工程学院 电子信息工程研究所 嵌入式Linux概况 现在 Linux 广泛用于各类计算应用,不仅包括 ...

  2. Linux编程手册读书笔记第三章(20140407)

    外壳函数执行一条中断机器指令(int 0x80),引发处理器从用户态切换到核心态,并执行系统中断0x80的中断矢量所指向的代码.(在2.6内核及glib 2.3.2之后的版本都支持sysenter指令 ...

  3. Linux编程手册读书笔记第五章(20140408)

    改变已打开文件性质:fcntl() #include<fcntl.h> int fcntl(int fd, int cmd, -); (1)  调用失败返回-1 (2)fcntl函数有5种 ...

  4. Linux编程手册读书笔记第四章(20140407)

    标准文件描述符定义在<unistd.h>中,STDIN_FILENO,  STDOUT_FILENO,  STDERR_FILENO 打开一个文件:open() #include<s ...

  5. Linux编程基础案例:第4章Shell编程

    案例4-1:已知/etc/passwd文件中的各项以:分隔,若使用awk命令处理/etc/passwd文件,提取其中的第1项和第3项,并使用空格分隔提取结果,则可以使用如下命令. awk -F: '{ ...

  6. Linux编程基础案例:第6章Linux进程管理

    案例6-1:使用fork()函数创建一个进程,进程创建成功后使父进程与子进程分别执行不同的功能. test_fork.c #include <stdio.h> #include <s ...

  7. 使用.NET Core 3进行Linux编程:第3章

    目录 第3章--数据类型和基本控制结构 在学习编写代码的过程中使用代码 重命名Main函数 学习处理错误 一步一步地完成每一步 错误代码 什么是函数签名? 重载函数:大量可接受的函数签名 修正您的Ma ...

  8. 编程实现linux中的who命令功能,Linux who命令简介及使用方法详解

    玩蛇网推荐图文教程:python 列表 本文是关于Linux who命令简介及使用方法详解一文.如果你是一名系统管理员,可能需要需要在一个特定的时间点都有谁活跃在系统上.以便必须严密监视我们的服务器. ...

  9. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

最新文章

  1. Linux服务器安装JDK、Tomcat配置web网站
  2. 1020 Tree Traversals (25 分) 【难度: 中 / 知识点: 哈希表建树 遍历树】
  3. java Jsoup不能获取完整响应内容
  4. centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)
  5. Srping MVC入门推荐
  6. 智慧交通day03-车道线检测实现05:透视变换+代码实现
  7. 《Dubbo迈出云原生重要一步-应用级服务发现解析》
  8. UIButton 的简单运用
  9. js图片滚动详细介绍
  10. Python基本操作(三)标准运算符与赋值
  11. 第 10 章 数组和指针
  12. LeetCode刷题(32)
  13. 黑莓 os6 html5,黑莓OS 6内置浏览器HTML5性能超越其他平台
  14. 1081 Rational Sum (20 分) 分数计算+最大公约数
  15. 华硕k5555l拆解图解_华硕k50id的拆机过程详解【图文教程】
  16. 恒压供水程序 三菱plc恒压供水程序,威纶触摸屏程序
  17. element-ui安装失败解决方法
  18. Android和风SDK,Android 和风天气SDK获取天气
  19. RK3566和S905X3/S905X4对比哪个好?
  20. 【建议背诵】2022下半年软考「高项」100题(2)

热门文章

  1. linux静态反汇编工具,源码恢复反汇编静态分析工具IDA pro
  2. 华为畅享20不能升级鸿蒙,华为mate20可以升级鸿蒙os吗-mate20能不能更新鸿蒙系统...
  3. openwrt打印机支持列表_共享打印机的三种安装连接方法
  4. java异常中return_求大神!!!!java 异常处理中return的意思
  5. mysql 修改字段长度 合并语句_mysql中利用sql语句修改字段名称,字段长度等操作...
  6. pythonnumpy矩阵详解_python常用模块numpy解析(详解)
  7. linux ntfs 用户权限,linux权限及ntfs文件系统权限的知识
  8. 想要高清壁纸,高图桌面壁纸网站值得收藏!
  9. lambda不是python的保留字_python-nonlocal关键字的使用,lambda表达式(学习到function到变...
  10. java知识点_JAVA面试必会知识点「mysql部分」