ptz 发布的文章

最近在调试 android,使用 串口半双工模式接收数据,碰到的问题是 unistd 中的 read 是block的,怎样才能超时退出。 刚开始找到的资料说是 c_cc[VMIN] = 0, c_cc[VTIME] = 10; 这样就能配置为 1s 超时了。但是实际上并不能够达到超时退出的功能。 后来经过进一步的资料查找,发现需要使用 下面的方法才能实现功能, VTIME 的配置好像没那么重要。 ```c++ struct timeval timeout; timeout.tv_sec = 0; timeout.tv_usec = 100000; retval = select(fd + 1, &rfds, NULL, NULL, &timeout);



参考: https://stackoverflow.com/questions/10522277/how-can-i-implement-timeout-for-read-when-reading-from-a-serial-port-c-c
https://linux.die.net/man/2/select
http://man7.org/linux/man-pages/man2/select.2.html
https://blog.mbedded.ninja/programming/operating-systems/linux/linux-serial-ports-using-c-cpp/#reading

1. 生成 tex

在 org 文件中按键 C-c C-e l l 这样能够生成 tex 文件

参考: http://tieba.baidu.com/p/3522363035

https://www.dazhuanlan.com/2019/10/16/5da60df92dd09/

https://blog.csdn.net/sinat_41104353/article/details/86763490 https://blog.csdn.net/yivanus/article/details/8689651 https://blog.csdn.net/sinat_41104353/article/details/86763490 https://sunyour.org/post/20160327-emacs-org-to-pdf-with-latex/

2. 报错处理。

当提示 "pdf was not produced. See "Org PDF LaTEx Output" for details" , 具体信息在 buffer 里面,通过 C-x b , 然后输入 *org ,自动补全后打开,即可看到错误信息。 解决方法: texlive 选择全部安装。

3. 在 org 的文件头部添加

#+LATEX_HEADER: \usepackage[UTF8]{ctex}

使用 xelatex 来输出有两种方法,

#+LATEX_CMD: xelatex

或者

(setq org-latex-pdf-process '("xelatex -interaction nonstopmode %f"
                              "xelatex -interaction nonstopmode %f"))

参考: https://sunyour.org/post/20160327-emacs-org-to-pdf-with-latex/

4. 官方org网站: https://orgmode.org/

系统: win7en

在 emacs 文件的开头输入:

-*- coding: utf-8 -*-

这样就可以以 utf-8 的编码进行保存。

还可以在配置文件中加入: (setq default-buffer-file-coding-system 'utf-8-unix) 。 具体参考: https://www.cnblogs.com/taosim/articles/3327909.html http://www.bubuko.com/infodetail-1878850.html https://www.emacswiki.org/emacs/ChangingEncodings

M-x describe-font RET 使用这个命令可以获得当前设置的字体描述。

中文会卡也有可能是行号功能的问题, linum-mode 可能导致卡,所以 emacs26 新加了一个 display-line-numbers-mode,这个没有性能问题,应该不会卡。

texlive 可以从下面两个网址下载 https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/ https://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/

下载完成之后,用虚拟光驱加载 iso 文件,然后打开光驱,右键 install-tl-advanced.bat ,选择管理员模式运行。 在安装界面上选择 advance,进入高级界面。在 scheme 里面配置为 small 模式,这样就只有 600+ M 大小了。然后 N. of collections 里面配置需要的语言包,至少配置 英语和中文。还可以把安装目录也修改以下,然后就能安装了。

最后使用下面命令来检查安装结果:

tex -v
latex -v
xelatex -v
pdflatex -v

参考: https://zhuanlan.zhihu.com/p/41855480 https://blog.csdn.net/sinat_41104353/article/details/86763490

在 windows 环境下,emacs 的配置目录可以通过下面几种方式来设置:

  1. If the environment variableHOME is set, use the directory it indicates.
  2. If the registry entry HKCU\SOFTWARE\GNU\Emacs\HOME is set, use the directory it indicates.
  3. If the registry entry HKLM\SOFTWARE\GNU\Emacs\HOME is set, use the directory it indicates. Not recommended, as it results in users sharing the same HOME directory.
  4. If C:.emacs exists, then use C:/. This is for backward compatibility, as previous versions defaulted to C:/ if HOME was not set.
  5. Use the user's AppData directory, usually a directory called Application Data under the user's profile directory, the location of which varies according to Windows version and whether the computer is part of a domain.

HOME 是 String 类型的值。

然后运行 bin\runemacs.exe 就可以打开 emacs 了。

  1. 远程建立仓库
  2. vcs --> import into version control --> create git respository
  3. 选中整个工程(project 页面) vcs --> git -> add
  4. vcs --> git --> remote 配置远程仓库
  5. vcs --> update project --> merge --> ok
  6. vcs --> git --> commit
  7. 在项目目录下打开 git bash,输入 git pull origin master -–allow-unrelated-histories
  8. vcs --> git --> push

参考: https://www.jianshu.com/p/059ed1e01229 https://blog.csdn.net/qq_30389893/article/details/90600250