April 17, 2022
  
  
  
  
  
  
    版本说明 #   Google编程规范总结     日期 版本 修改内容     20211029 V0.1 创建    目的 #  使代码易于管理的方法之一是加强代码一致性. 让任何程序员都可以快速读懂你的代码这点非常重要.
项目主页:
  Google Style Guide  Google 开源项目风格指南 - 中文版  代码规范 #  头文件 #  前置声明 #    尽可能地避免使用前置声明。使用 #include 包含需要的头文件即可
  前置声明的类是不完全类型(incomplete type),我们只能定义指向该类型的指针或引用,或者声明(但不能定义)以不完全类型作为参数或者返回类型的函数。毕竟编译器不知道不完全类型的定义,我们不能创建其类的任何对象,也不能声明成类内部的数据成员。
 If a class only appears in the header as a pointer or reference, then a forward declaration is sufficient
        ...
      
    
  
  
  
    
    
  April 17, 2022
  
  
  
  
  
  
    版本说明 #   内容: 浮点数计算误差分析 时间: 2022/02/28 版本: V 0.1  浮点数计算误差分析 #  通过分析汇编代码,分析浮点数运行产生的误差
测试程序 #  例子 1 #  #include <stdio.h>int main() { 	int a = 33800; 	long long b = 13*sizeof(short)*(a); 	printf("[%lld]\n",b); } 例子 2 #  #include <stdio.h>int main() { 	int a = 33800; 	long long b = 13*1000*sizeof(short)* (double)(a/1000.0); 	printf("[%lld]\n",b); } 例子1输出878800 例子2输出878799
为何会产生差异呢,只能从汇编代码入手,一点一点分析浮点计算的过程
例子1汇编代码 #  例子1不涉及浮点数,因此汇编代码比较简单,先通过例子1的汇编代码进行了解。
        ...
      
    
  
  
  
    
    
  April 17, 2022
  
  
  
  
  
  
    ZeroTier内网穿透 #  安装方式1:脚本自动安装 #  sudo curl -s https://install.zerotier.com|sudo bash 在ubuntu下成功安装,在树莓派上可能失败
安装方式2:源码安装 #  wget https://github.com/zerotier/ZeroTierOne/archive/refs/tags/1.8.4.tar.gz tar zxvf 1.8.4.tar.gz cd ZeroTierOne-1.8.4/ make -j make install 注册账号 #  申请ID,参考https://blog.csdn.net/kai3123919064/article/details/109662499
运行 #  1、在每个设备端上运行服务端zerotier-one,并将每一个设备添加到相同的NetworkID组,这样同一下 NetworkID组下的所有成员就能相互穿透了
先安装zerotier-one服务并运行,这样以后开机自动启动此服务
#在源码目录下可以看到此文件 ~/Public/ZeroTierOne-1.8.4 $ cat debian/zerotier-one.service [Unit] Description=ZeroTier One After=network-online.target Wants=network-online.target  [Service] ExecStart=/usr/sbin/zerotier-one Restart=always KillMode=process  [Install] WantedBy=multi-user.target 注意检查上面的/usr/sbin/zerotier-one路径是否存在
#将此文件 拷贝到/lib/systemd/system/目录下 $ cp debian/zerotier-one.service /lib/systemd/system/ #启动服务 $ systemctl start zerotier-one.service #查看服务状态 $ systemctl status zerotier-one.
        ...
      
    
  
  
  
    
    
  April 17, 2022
  
  
  
  
  
  
    搭建HUGO博客 #  安装hugo #  进入 release页面下载,选择下载 hugo_extended_0.97.0_Linux-64bit.deb带extended后缀的安装包
sudo dpkg -i hugo_extended_0.97.0_Linux-64bit.deb 创建hugo工程 #  mkdir ~/Public/Book cd ~/Public/Book hugo new site ./ 下载主题 #  git init git submodule add https://github.com/alex-shpak/hugo-book themes/hugo-book cp -R themes/hugo-book/exampleSite/content . 运行Web服务 #  ubuntu:~/Public/Book$ hugo server --minify --theme hugo-book --bind="0.0.0.0" -p 8888 Start building sites … hugo v0.97.0-c07f3626e7c8160943591f4d209977efa02c3dca+extended linux/amd64 BuildDate=2022-04-14T08:45:07Z VendorInfo=gohugoio WARN 2022/04/16 01:47:16 Expand shortcode is deprecated. Use 'details' instead. WARN 2022/04/16 01:47:16 Page '/layout/variables' not found in 'posts/goisforlovers.
        ...