博客搬家小记
时隔两年,再次更换域名,并将 Blog 移到了搬瓦工 VPS 上,是为记。
时隔两年,再次更换域名,并将 Blog 移到了搬瓦工 VPS 上,是为记。
现代机器上,指针的长度一般等于 CPU 运行模式的寻址位数,在 32 位操作系统上为 4 字节,在 64 位操作系统上为 8 字节;而整数长度在 32 位和 64 位操作系统上一般都为 4 字节。因此将指针与整形相互转换时,务必考虑对 32 位及 64 位操作系统的兼容性。
由于指针的长度一般大于或等于整形的长度,因此直接强制类型转换就可以了:
1 2 | int i; void *p = reinterpret_cast<void *>(i); |
使用 uintptr_t 或 intptr_t 类型。这两种类型定义在头文件 <stdint.h> 中。
1 2 3 4 | // C++11 version #include <cstdint> void *p; auto i = reinterpret_cast<std::uintptr_t>(p); |
1 2 3 4 | // C99 version #include <stdint.h> void *p; uintptr_t i = (uintptr_t)p; // C Version |
安装 Arduino IDE
1 | $ sudo pacman -S arduino |
问题 1:
1 | (java:7365): Gtk-WARNING **: 23:10:07.697: 无法在模块路径中找到主题引擎:“murrine”, |
解决方案:
1 | $ sudo pacman -S gtk-engines-murrine |
问题 2:
1 2 3 4 5 6 | Picked up JAVA_TOOL_OPTIONS: java.lang.NullPointerException at processing.app.BaseNoGui.onBoardOrPortChange(BaseNoGui.java:679) at processing.app.Base.onBoardOrPortChange(Base.java:1312) at processing.app.Base.<init>(Base.java:282) at processing.app.Base.main(Base.java:151) |
解决方案:
1 | $ sudo pacman -S arduino-avr-core |
问题 3:
1 2 | 上传项目出错 avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied |
解决方案:
1 | $ sudo chmod u+s /usr/bin/avrdude |