首页 > 其他分享 >2020-12-1-xtx第13周开发日记

2020-12-1-xtx第13周开发日记

时间:2023-09-17 19:23:48浏览次数:41  
标签:13 12 CMAKE TYPE xtx compile add 断点 options

layout: post
title: xtx第13周开发日志
categories: 日志
tags: 
    - 日志 
    - 2020日志
BGImage: 'https://cdn.jsdelivr.net/gh/xutongxin1/xutongxin1.github.io@d65706f589a6ace903309ed982a3058a2b3251e3/asset/%E6%97%A5%E5%BF%97/20201211144323.png'
jekyll-theme-WuK:
    musicid: '28561009'

第13周开发日志

11.30-12.2

还是RGB灯的调试

为了实现呼吸灯和顺滑变换继续下功夫中

老实说简单的东西不易做

然后是测试树莓派

树莓派需要在图形化界面下初始化,可以用VNC

然后MobaXterm神奇的不支持我的VNC,最后用了VNC Viewer

为了在没屏幕下使用ssh和wifi,需要在boot盘下创建ssh(小写无后缀)文件和wpa_supplicant.conf

country=CN

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

 

network={

ssid="xtx"

psk="wifi密码"

key_mgmt=WPA-PSK

priority=1

}

树莓派在没初始化之前,每开一次机都会把ssh文件删除,直到你初始化那一次就不会删了

树莓派的wifi的ip老是跳,就给它静态了吧

树莓派ssh默认用户名和密码是:

  • 用户名:pi
  • 密码:raspberry

今天无意间撇到一眼一个文章标题

一开始以为是什么标题党水文,后来·····

要在后台运行终端命令,请按:

CTRL+Z:暂停应用程序

fg:返回到应用程序

确实挺好

12.3

今天开始测试SnowBoy

虽然这个项目就要关门了(而且我还发现百度是他的老板)

Traceback (most recent call last):
  File "demo.py", line 33, in <module>
    sleep_time=0.03)
  File "/home/pi/snowboy/examples/Python3/snowboydecoder.py", line 176, in start
    stream_callback=audio_callback)
  File "/usr/lib/python3/dist-packages/pyaudio.py", line 750, in open
    stream = Stream(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/pyaudio.py", line 441, in __init__
    self._stream = pa.open(**arguments)
OSError: [Errno -9997] Invalid sample rate

查了一吨怪资料,才意识到自己就是没看英文

就最后一段英文重要你这都不看?????!!!!

采样率过高了,得降低采样,还得再研究一下

12.4

重新学了一下Jetsbrain类软件调试功能的妙用

https://www.cnblogs.com/chiangchou/p/idea-debug.html

步过,步入,强制步入的区别

    > Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。

    > Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法,如第25行的put方法。

    > Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。

然后发现一些独特功能

IDEA给JAVA专用的

> Drop Frame (默认无):回退断点,和jvm出栈有关

Update 'tech' application (Ctrl + F5):更新程序,一般在你的代码有改动后可执行这个功能。而这个功能对应的操作则是在服务配置里

然后是智能步入

 想想,一行代码里有好几个方法,怎么只选择某一个方法进入。之前提到过使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)进入到方法内部,但这两个操作会根据方法调用顺序依次进入,这比较麻烦。

  那么智能步入就很方便了,智能步入,这个功能在Run里可以看到,Smart Step Into (Shift + F7)

  img

​ 通过设置断点条件,在满足条件时,才停在断点处,否则直接运行。

  通常,当我们在遍历一个比较大的集合或数组时,在循环内设置了一个断点,难道我们要一个一个去看变量的值?那肯定很累,说不定你还错过这个值得重新来一次。

  在断点上右键直接设置当前断点的条件,设置exist为true时断点才生效。

  img

调试步过到死的人的福音

VMWare WorkStation Pro 16.0不再支持开启虚拟机共享

然后16.1又被暂时加回来

但是预计还是要没了

image-20201204200601377

所以建议不要装16.0,装了也可以升级到16.1,但不要再升级了

许可证的话16.0的密钥整个16.X版本都可以用的

12.5

都是升级的锅

Clion从2020.2.3到了2020.3

然后配置文件就翻车了

更新之后的

123

那个执行前的构建直接没了

一直调试无果,人都傻了

其次是

不要开着Proxifier玩MobaXterm

否则你会见到端口扫描结果全开

ssh完全连不上的尴尬

然后是冷门生僻的东西

CMAKE_BUILD_TYPE

指定编译调试版本或者发布版本,可以在Cmakelist中更改不同版本对应的编译策略

比如

if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
    message(STATUS "Maximum optimization for speed")
    add_compile_options(-Ofast)
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")
    message(STATUS "Maximum optimization for speed, debug info included")
    add_compile_options(-Ofast -g)
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")
    message(STATUS "Maximum optimization for size")
    add_compile_options(-Os)
else ()
    message(STATUS "Minimal optimization, debug info included")
    add_compile_options(-Og -g3)
endif ()

翻译一下是

翻译结果
如果(“ $ {CMAKE_BUILD_TYPE}” STREQUAL“发布”)
     消息(状态“最大速度优化”)
     add_compile_options(-Ofast)
elseif(“ $ {CMAKE_BUILD_TYPE}” STREQUAL“ RelWithDebInfo”)
     消息(状态“最大速度优化,包括调试信息”)
     add_compile_options(-Ofast -g)
elseif(“ $ {CMAKE_BUILD_TYPE}” STREQUAL“ MinSizeRel”)
     消息(状态“最大尺寸优化”)
     add_compile_options(-Os)
其他()
     消息(状态“最小优化,包括调试信息”)
     add_compile_options(-Og -g3)
万一 ()

add_compile_options

后面的

-Og -g3

均为优化参数

g0优化低,g3优化高

但是由于g3优化高有些变量会被清理优化无法响应中断时的任务

所以出问题可以试试改为g0

标签:13,12,CMAKE,TYPE,xtx,compile,add,断点,options
From: https://www.cnblogs.com/xutongxin/p/17709529.html

相关文章

  • 2020-12-1-myy13周日志
    layout:posttitle:myy通讯录日志categories:日志tags:-日志-2020日志jekyll-theme-WuK:background_music:'<iframeframeborder="no"border="0"marginwidth="0"marginheight="0"width=100%height=86sr......
  • 2020-11-27-myy12周日志
    layout:posttitle:myy通讯录日志categories:日志tags:-日志-2020日志jekyll-theme-WuK:background_music:'<iframeframeborder="no"border="0"marginwidth="0"marginheight="0"width=100%height=86sr......
  • 2020-11-23-第12周开发日记
    layout:posttitle:xtx第12周开发日志categories:日志tags:-日志-2020日志BGImage:'https://cdn.jsdelivr.net/gh/xutongxin1/xutongxin1.github.io@a09d6cce1e133e1819736340f4016f10a0226969/asset/background/75006825_p0.jpg'jekyll-theme-WuK:m......
  • 20211312徐元琦学习笔记2
    第9章I/O库函数——教材知识点归纳9.1~9.2系统调用和I/O库函数系统调用:操作系统中,进程以两种不同的方式运行:内核模式(Kmode)和用户模式(Umode)。Umode权限有限,特殊权限的操作需要在Kmode下进行。系统调用(SystemCall)机制允许进程进入Kmode,执行更高权限的操作。系统调用和I/O......
  • CSP 20123 入门组第一轮
    2023CCF非专业级别软件能力认证第一轮,(CSP-J1)入门级C++语言试题考生注意事项:●试题纸共有10页。答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。●不得使用任何电子设备(如计算器、手机、电子网费等)或查阅任何书籍资料。一、单项选择题(共15题,每......
  • 9.13
    测试程序重写:packageproject;publicclassWarehouseInformation{//定义私有变量privateStringitemno;//商品编号privateStringitemname;//商品名称privateStringsuppliername;//供货商名称privateStringwarehousingtim......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第二周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第二周学习笔记 一、任务要求自学教材第九章,提交学习笔记(10分)本章是复习C语言中的文件操作内容,结构化从文本文件操作,二进制文件操作两个大内容考虑,以前可能只关注文本文件的操作,我们以后更多的是操作二进制文件。文本文......
  • 2023-2024-1 20211327 信息安全系统设计与实现 学习笔记2(必做)
    学习笔记2C语言文件操作内容知识点总结运用ChatGPT进行苏格拉底挑战,发现问题与解决思路实践过程截图C语言文件操作内容知识点总结C语言文件基础操作字符读写、行读写、任意位置读写数据结构读写结构化从文本文件操作二进制文件与文本文件转换C语言文件基础操作1.......
  • 13 文本框和单选框
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>学习表单</title></head><body><h1>学习表单和单选框</h1><formaction="表格标签.html"method="......
  • MDT2013自动化部署Windows系统-MDT环境安装
    1、MDT服务端加域:1)指定DNS服务器:2)计算机右键属性,选择“更改设置”:3)系统属性界面选择”更改”:4)填写要加入的“bjdcxr.com”域,单击“确定”:5)在弹出选项框输入AD域账户名和密码并确定:6)提示加入bjdcxr.com域成功并按提示重启:7)MDT服务端加域成功:......