Games101作业0(vscode连接VB虚拟机)

news/2025/3/19 22:59:02/

作业0

配置环境:

基本配置在pa0中都有,下面介绍使用vscode连接VB虚拟机快捷开发

vscode连接VB虚拟机

1.用户名

可以看到Username为cs18并非为css180

2.密钥

在window主机生成密钥

ssh-keygen #一路回车

3.VB虚拟机配置ssh

  • sshd_config配置
cd /etc/ssh/
vim sshd_config 

复制以下粘贴到文末:

其实主要修改为:

PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords yes
  • 放置公钥 到下面文件 没有就新建
~/.ssh/authorized_keys
  • 重启ssh服务
sudo service ssh restart

4.虚拟机网卡

按下图设置后保存

在这里插入图片描述

查看地址

ifconfig

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制红线地址

在window cmd下测试连接

 ssh cs18@地址

可进入虚拟机则进入下一步

5.vscode连接
在这里插入图片描述

输入

 ssh cs18@地址

如果连接不上则进行 vscode ssh配置

在这里插入图片描述

Host 地址HostName 地址User cs18Port 22IdentityFile "C:\Users\你的用户名\.ssh\id_rsa"

至此配置完成 可以愉快的在windows上写代码了,与实际没有差异,任何跳转\提示功能健全

答案:

Main.cpp

#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>
#include "Point2D.h"
using namespace std;void example();
void rotate_point(Point2D &point,float theta); int main(){Point2D point;point.x = 2.0f;point.y = 1.0f;rotate_point(point,45);cout<<point.x<<endl;cout<<point.y<<endl;
}void rotate_point(Point2D &point,float theta) {theta = theta/180.0*acos(-1);Eigen::Matrix2f rotate_matrix;rotate_matrix << cos(theta) ,-sin(theta),sin(theta) , cos(theta);Eigen::Matrix<float,2,1>  point_matrix;point_matrix <<  point.x,point.y;Eigen::Matrix<float,2,1>  result = rotate_matrix * point_matrix;point.x = result[0];point.y = result[1];
}void example() {// Basic Example of cppstd::cout << "Example of cpp \n";float a = 1.0, b = 2.0;std::cout << a << std::endl;std::cout << a/b << std::endl;std::cout << std::sqrt(b) << std::endl;std::cout << std::acos(-1) << std::endl;std::cout << std::sin(30.0/180.0*acos(-1)) << std::endl;// Example of vectorstd::cout << "Example of vector \n";// vector definitionEigen::Vector3f v(1.0f,2.0f,3.0f);Eigen::Vector3f w(1.0f,0.0f,0.0f);// vector outputstd::cout << "Example of output \n";std::cout << v << std::endl;// vector addstd::cout << "Example of add \n";std::cout << v + w << std::endl;// vector scalar multiplystd::cout << "Example of scalar multiply \n";std::cout << v * 3.0f << std::endl;std::cout << 2.0f * v << std::endl;// Example of matrixstd::cout << "Example of matrix \n";// matrix definitionEigen::Matrix3f i,j;i << 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0;j << 2.0, 3.0, 1.0, 4.0, 6.0, 5.0, 9.0, 7.0, 8.0;// matrix outputstd::cout << "Example of output \n";std::cout << i << std::endl;// matrix add i + j// matrix scalar multiply i * 2.0// matrix multiply i * j// matrix multiply vector i * vreturn ;
}

Point2D.h

class Point2D
{
private:/* data */
public:float x;float y;
};

Point2D.cpp

#include "Point2D.h"

run.sh 快捷编译

cmake ./ &&
cd ./build
make 
if [ $? -ne 0 ]; thenecho "\033[1m\033[40;31m编译失败,本次结果为上一次成功的运行结果\033[0m";./Transformationexit;
elseecho "\033[1m\033[40;32m编译成功\033[0m"./Transformation
fi

作业0

配置环境:

基本配置在pa0中都有,下面介绍使用vscode连接VB虚拟机快捷开发

vscode连接VB虚拟机

1.用户名

可以看到Username为cs18并非为css180

2.密钥

在window主机生成密钥

ssh-keygen #一路回车

3.VB虚拟机配置ssh

  • sshd_config配置
cd /etc/ssh/
vim sshd_config 

复制以下粘贴到文末:

其实主要修改为:

PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys
PasswordAuthentication yes
PermitEmptyPasswords yes
  • 放置公钥 到下面文件 没有就新建
~/.ssh/authorized_keys
  • 重启ssh服务
sudo service ssh restart

4.虚拟机网卡

按下图设置后保存

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看地址

ifconfig

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制红线地址

在window cmd下测试连接

 ssh cs18@地址

可进入虚拟机则进入下一步

5.vscode连接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入

 ssh cs18@地址

如果连接不上则进行 vscode ssh配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Host 地址HostName 地址User cs18Port 22IdentityFile "C:\Users\你的用户名\.ssh\id_rsa"

至此配置完成 可以愉快的在windows上写代码了,与实际没有差异,任何跳转\提示功能健全

答案:

Main.cpp

#include<cmath>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
#include<iostream>
#include "Point2D.h"
using namespace std;void example();
void rotate_point(Point2D &point,float theta); int main(){Point2D point;point.x = 2.0f;point.y = 1.0f;rotate_point(point,45);cout<<point.x<<endl;cout<<point.y<<endl;
}void rotate_point(Point2D &point,float theta) {theta = theta/180.0*acos(-1);Eigen::Matrix2f rotate_matrix;rotate_matrix << cos(theta) ,-sin(theta),sin(theta) , cos(theta);Eigen::Matrix<float,2,1>  point_matrix;point_matrix <<  point.x,point.y;Eigen::Matrix<float,2,1>  result = rotate_matrix * point_matrix;point.x = result[0];point.y = result[1];
}void example() {// Basic Example of cppstd::cout << "Example of cpp \n";float a = 1.0, b = 2.0;std::cout << a << std::endl;std::cout << a/b << std::endl;std::cout << std::sqrt(b) << std::endl;std::cout << std::acos(-1) << std::endl;std::cout << std::sin(30.0/180.0*acos(-1)) << std::endl;// Example of vectorstd::cout << "Example of vector \n";// vector definitionEigen::Vector3f v(1.0f,2.0f,3.0f);Eigen::Vector3f w(1.0f,0.0f,0.0f);// vector outputstd::cout << "Example of output \n";std::cout << v << std::endl;// vector addstd::cout << "Example of add \n";std::cout << v + w << std::endl;// vector scalar multiplystd::cout << "Example of scalar multiply \n";std::cout << v * 3.0f << std::endl;std::cout << 2.0f * v << std::endl;// Example of matrixstd::cout << "Example of matrix \n";// matrix definitionEigen::Matrix3f i,j;i << 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0;j << 2.0, 3.0, 1.0, 4.0, 6.0, 5.0, 9.0, 7.0, 8.0;// matrix outputstd::cout << "Example of output \n";std::cout << i << std::endl;// matrix add i + j// matrix scalar multiply i * 2.0// matrix multiply i * j// matrix multiply vector i * vreturn ;
}

Point2D.h

class Point2D
{
private:/* data */
public:float x;float y;
};

Point2D.cpp

#include "Point2D.h"

run.sh 快捷编译

cmake ./ &&
cd ./build
make 
if [ $? -ne 0 ]; thenecho "\033[1m\033[40;31m编译失败,本次结果为上一次成功的运行结果\033[0m";./Transformationexit;
elseecho "\033[1m\033[40;32m编译成功\033[0m"./Transformation
fi

http://www.ppmy.cn/news/1118593.html

相关文章

新手怎样快速上手接口测试?掌握这几个知识点直接起飞!

接口测试是测试系统组件间接口的一种方式&#xff0c;接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是检查数据的增删改查操作&#xff0c;以及系统之间的逻辑关系等 接口的几种类型 接口的类型包括&#xff1a;post &#xff0c;get&am…

达观RPA实战-自定义控件创建excel表头

一、应用背景 工作中我们经常会对excel文件进行操作,比如获取表格数据后,需要在空白excel文件中先写入表头,在逐行写入数据。如果每次都需要在流程中进行表头的写入,流程会看起来很臃肿。此时,我们可以充分利用达观RPA中自定义控件来创建一个。后续涉及到写excel表数据,…

约数个数(蓝桥杯)

约数个数 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 答案&#xff1a;96 1200000 有多少个约数&#xff08;只计算正约数&#xff09;。 约数&#xff0c;又称因数。整数a除以整数b(b≠0) 除得的商正好是整…

flutter开发实战-自定义长按TextField输入框剪切、复制、选择全部菜单AdaptiveTextSelectionToolba样式UI效果

flutter开发实战-自定义长按TextField输入框剪切、复制、选择全部菜单样式UI效果 在开发过程中&#xff0c;需要长按TextField输入框cut、copy设置为中文“复制、粘贴”&#xff0c;我首先查看了TextField中的源码&#xff0c;看到了ToolbarOptions、AdaptiveTextSelectionToo…

【C语言】可变参数列表详解

可变参数列表 一、可变参数列表的使用1、可变参数列表的形式2、可变参数列表的提取3、使用演示4、利用可变参数实现一个简单的日志打印功能 二、可变参数列表的原理1、原理的讲解2、原理的证明 一、可变参数列表的使用 1、可变参数列表的形式 有时我们在使用C语言时可能会碰到…

9.20号作业实现钟表

1.widget.h #include <QPainter> //画家 #include <QTimerEvent> #include <QTime> #include<QTimer> //定时器类QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Wid…

51单片机 串口通信

UART.h #ifndef __UART_H__ #define __UART_H__void UART_Init(); void UART_SendByte(unsigned char Byte);#endifUART.H #include <REGX52.H>/*** brief 串口初始化&#xff0c;4800bps12.000MHz* param 无* retval 无*/ void UART_Init() {SCON0x40;PCON | 0x80;T…

qml Textinput 、TextField、TextEdit、TextArea用法介绍

在 Qt Quick 中,TextInput 和 TextField 都用于接收用户的文本输入,但它们之间存在一些差异。下面是关于它们的简要介绍和使用方法: TextInput TextInput 是 Qt Quick 中的一个简单的文本输入控件,它可以显示和编辑单行纯文本。它是低级别的,通常没有图形化的边框或其他…