2019年4月

  1. ssh-keygen创建多组公钥-密钥对
  2. ~/.ssh下建立config文件,格式如下:
Host host-alias
    HostName your.host.name
    IdentityFile /path/to/privkey
    PreferredAuthentications publickey
    User username

其中Host为该配置文件的“主机名”,即配置git远程仓库时用到的主机名,用于区分不同配置,不应重复
HostName为该配置文件的实际主机名,可重复
IdentityFile放私钥路径,可用相对地址
PreferredAuthentications为连接时的验证方式
User即为用户名(暂时不清楚这个有啥用,就先填用户名吧)

记得把私钥和这个config的权限改成600,为安全起见

参考: https://www.cnblogs.com/popfisher/p/5731232.html

现今绝大多数计算机都是用的是64位系统了,于是默认生成的代码的target也是64位的。 可是。。模拟器只支持32位的指令集,于是只能想办法生成32位的代码。

MIPS:

mips-img-elf-gcc -march=mips32 -mno-local-sdata ...

https://reviews.llvm.org/D4903?id=12672#inline-47153 这里提到了%gp_rel的功能,但是并看不懂 通过-mno-local-sdata使得编译时不生成该标识符。(还是模拟器不支持)

RISC-V: 需要通过编译的时候指定目标架构。 方法之一是只生成32位的编译器:

./configure --prefix=/path/to/installation --with-arch=rv32gc --with-abi=ilp32

似乎还可以通过--enable-multilib的方法在编译程序时指定。(未研究)

补充一个操作:

gcc -E -march=help -xc /dev/null

https://stackoverflow.com/questions/47299458/how-can-i-determine-what-architectures-gcc-supports 使用该命令,版本较新的gcc会把支持的架构作为报错信息输出来。 原作者说的最低版本是gcc7,但是我的gcc6.4也能用

ALTER TABLE foo NOCHECK CONSTRAINT ALL  --禁用所有外键
ALTER TABLE foo WITH CHECK CHECK CONSTRAINT ALL  --启用所有外键

主键约束不存在禁用的,所以不用担心影响到主键约束。 启用外键的条件是数据库中的数据不违背外键规则,即该方法不能用于像MySQL那样初始化导入不完整的数据。 经测试在SSLDB 2012可用。

参考: https://stackoverflow.com/questions/737115/turn-off-constraints-temporarily-ms-sql