2021年1月份经验总结

举报
鱼酱 发表于 2022/01/07 00:30:18 2022/01/07
【摘要】 文章目录 2021年1月20日收获2021年1月21日收获2021年1月22日收获2021年1月25日收获2021年1月26日收获2021年1月27日收获2021年1月28日收获 记录一下每...

记录一下每天的收获

2021年1月20日收获

  • Qt进行socket通信,存在一个bind函数可以指定使用的ip和端口号。
  • Linux显卡可以用命令虚拟一个IP
  • 虚拟机的网络模式:专用网络、桥接、NAT模式、仅主机模式。

桥接

桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致

NAT模式

a. 默认使用VMnet8,提供DHCP服务
可自动分配IP地址,也可手动设置IP
b. 虚拟机可以和物理主机互相访问,但不可访问主机所在网络的其他计算机,可访问外部网络

2021年1月21日收获

  • go语言相关支持很多cpu架构,而且有很多平台是编译好的,不用交叉编译。这一点挺不错的。而且官网提供了编译器支持的CPU指令集。

该网址为下载地址 https://studygolang.com/dl

The Go compilers support the following instruction sets:
amd64, 386
The x86 instruction set, 64- and 32-bit.
arm64, arm
The ARM instruction set, 64-bit (AArch64) and 32-bit.
mips64, mips64le, mips, mipsle
The MIPS instruction set, big- and little-endian, 64- and 32-bit.
ppc64, ppc64le
The 64-bit PowerPC instruction set, big- and little-endian.
riscv64
The 64-bit RISC-V instruction set.
s390x
The IBM z/Architecture.
wasm
WebAssembly.

  • 为了能在PC机模拟这些嵌入式的开发环境,搜索了一个神奇虚拟机QMenu,日后需要仔细进行研究

2021年1月22日收获

这是一个项目启动Qt的shell脚本

#/bin/bash

QTVER=5.14.1
export QTDIR="/opt/deepin-qt-env/opt/qt5.14"
if [ ! -d $QTDIR ]; then
    echo "Not found Qt5"
fi

export QT_QPA_PLATFORM=xcb
export QT_QPA_EGLFS_HIDECURSOR=0

export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH
# export QTWEBENGINE_DISABLE_SANDBOX=1
export XDG_RUNTIME_DIR="/tmp"
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

unset QT_QPA_EGLFS_INTEGRATION
unset QT_QPA_GENERIC_PLUGINS

./xxxxxxx

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

qmue使用深度系统的命令

qemu-img create linux.img 40G

qemu-system-x86_64 -m 1024 F:\yuch\qemu\deepin\linux.img -cdrom  H:\linux\deepin-desktop-community-1010-amd64.iso

  
 
  • 1
  • 2
  • 3

2021年1月25日收获

Qt opengl代码段

//输出包含的opengl功能函数
void OpenglWnd::outputFunc(QOpenGLFunctions::OpenGLFeatures flag)
{
   qDebug()<<"Qt包含opengl功能函数:"<<QString::number(flag,16);
  if (flag.testFlag(OpenGLFeature::Multitexture))
     qDebug() << "Multitexture";
  if (flag.testFlag(OpenGLFeature::Shaders))
     qDebug() << "Shaders";
  if (flag.testFlag(OpenGLFeature::Buffers))
     qDebug() << "Buffers";
  if (flag.testFlag(OpenGLFeature::Framebuffers))
     qDebug() << "Framebuffers";
  if (flag.testFlag(OpenGLFeature::BlendColor))
     qDebug() << "BlendColor";
  if (flag.testFlag(OpenGLFeature::BlendEquation))
     qDebug() << "BlendEquation";
  if (flag.testFlag(OpenGLFeature::BlendEquationSeparate))
     qDebug() << "BlendEquationSeparate";
  if (flag.testFlag(OpenGLFeature::BlendSubtract))
     qDebug() << "BlendSubtract";
  if (flag.testFlag(OpenGLFeature::CompressedTextures))
     qDebug() << "CompressedTextures";
  if (flag.testFlag(OpenGLFeature::Multisample))
     qDebug() << "Multisample";
  if (flag.testFlag(OpenGLFeature::StencilSeparate))
     qDebug() << "StencilSeparate";
  if (flag.testFlag(OpenGLFeature::NPOTTextures))
     qDebug() << "NPOTTextures";
  if (flag.testFlag(OpenGLFeature::NPOTTextureRepeat))
     qDebug() << "NPOTTextureRepeat";
  if (flag.testFlag(OpenGLFeature::FixedFunctionPipeline))
     qDebug() << "FixedFunctionPipeline";
  if (flag.testFlag(OpenGLFeature::TextureRGFormats))
     qDebug() << "TextureRGFormats";
  if (flag.testFlag(OpenGLFeature::MultipleRenderTargets))
     qDebug() << "MultipleRenderTargets";
  if (flag.testFlag(OpenGLFeature::BlendEquationAdvanced))
     qDebug() << "BlendEquationAdvanced";
  qDebug()<<"---------------------------";
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
    //开启2D纹理
    glEnable(GL_TEXTURE_2D);
    //开启深度测试
    glEnable(GL_DEPTH_TEST);

	//矩阵归一化
     QMatrix4x4 mModelMatrix;
     mModelMatrix.setToIdentity();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2021年1月26日收获

Opengl屏幕坐标系,屏幕中心为(0,0坐标远点,笛卡尔坐标系,两边边界为-1~+1)所有的屏幕坐标,都要转换成该坐标后传入shader。
Opengl的MVP矩阵可以分别传入shader,然后shader进行乘法运算。

2021年1月27日收获

开了一天会,收获了go语言支持的cpu架构

The Go compilers support the following instruction sets:
amd64, 386
The x86 instruction set, 64- and 32-bit.
arm64, arm
The ARM instruction set, 64-bit (AArch64) and 32-bit.
mips64, mips64le, mips, mipsle
The MIPS instruction set, big- and little-endian, 64- and 32-bit.
ppc64, ppc64le
The 64-bit PowerPC instruction set, big- and little-endian.
riscv64
The 64-bit RISC-V instruction set.
s390x
The IBM z/Architecture.
wasm
WebAssembly.

2021年1月28日收获

收获了如何用qt做个弹出动画

m_panimation  = new QPropertyAnimation();
QPropertyAnimation *m_panimation;
//设置动画间隔120ms
m_panimation->setDuration(120);
//设置运算的属性
 m_panimation->setPropertyName("geometry");
 //设置动画对象
 m_panimation->setTargetObject(&m_menu);
 //设置开始值和结束值
 m_panimation->setStartValue(QRect(this->pos().x(), this->pos().y(),800,0));
 m_panimation->setEndValue(QRect(this->pos().x(),this->pos().y(),800,80));
 //设置动画曲线
 m_panimation->setEasingCurve(QEasingCurve::OutQuad);
//绑定动画完成后元器件隐藏
auto func = [=](){
            m_menu->hide();
};
connect(m_panimation,&QPropertyAnimation::finished,func);
 //开始动画
 m_panimation->start();


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
	//获取屏幕大小
    QDesktopWidget* desktopWidget = QApplication::desktop();
    QRect screenRect = desktopWidget->screenGeometry();

  
 
  • 1
  • 2
  • 3

文章来源: yujiang.blog.csdn.net,作者:鱼酱2333,版权归原作者所有,如需转载,请联系作者。

原文链接:yujiang.blog.csdn.net/article/details/112915395

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。