Blog

Google编程规范总结

April 17, 2022
工具
HUGO, blog

版本说明 # 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
GDB
浮点数, GDB

版本说明 # 内容: 浮点数计算误差分析 时间: 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的汇编代码进行了解。 ...

ZeroTier内网穿透

April 17, 2022
工具
zerotier, 内网穿透, 远程控制

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. ...

搭建HUGO博客

April 17, 2022
工具
HUGO, blog

搭建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. ...