[C++]内存对齐

编译器会对内存自动进行对齐,以加快内存读取。

内存对齐主要遵循下面三个原则:

1.结构体变量的起始地址能够被其最宽的成员大小整除
2.结构体每个成员相对于起始地址的偏移能够被其自身大小整除,如果不能则在前一个成员后面补充字节
3.结构体总体大小能够被最宽的成员的大小整除,如不能则在后面补充字节

比如struct的字节大小并不是单纯按照所有元素的字节和相加。
可以用系统预编译来进行调节,#pragma pack(1)默认就是紧凑存放的。
linux下默认#pragma pack(4),#pragma pack()恢复缺省对齐

树莓派制作Aria2下载机记录

一开始没想到FAT32不支持4GB以上的文件,导致Aria2下载种子时建不了文件夹..立刻格了换NTFS.
不过linux只能只读NTFS,要用NTFS-3g
为硬盘挂载建立一个文件夹 sudo mkdir /mnt/DownloadDrive
然后sudo vim /etc/fstab 在最后一行添加如下内容
/dev/sda1 /mnt/DownloadDrive ntfs-3g defaults,noexec,umask=0000 0 0

之后安装samba建立局域网服务器,用Yaaw来做GUI的显示
安装aria2启动,( sudo aria2c --conf-path=/etc/aria2/aria2.conf -D

 

不过一开始什么都不加,速度一直是0
因而conf里要加一下bt-tracker,听网上说还要找热门的种子先做种(反正我只能找到的热门种子都是Porn..
不过果然快了挺多..

不过对于迅雷的文件还是比不过啊,装了个Xware试试貌似也是不太稳定..

Web Note

console.log()
setTimeout
setInterval

var time = 0;
var timer=setInterval(() => {
    time+=3;
    console.log(time+" sec pass");
    if (time>10)
        clearInterval(timer);
}, 3000);

console.log(__dirname)
console.log(__filename)
回调函数

function CallFunc(Fun, name) {
    Fun(name);
}

var Func = function(name) {
    console.log('Bye '+ name);
}

CallFunc(Func,'Li');

arr=[‘A’,’B’,’C’];
arr.length=3

require(‘./*.js’) 当前目录引用

 

npm run serve

[Latex] 基础整理

打一波美赛复习一下Latex整理一下。

表格:

这个是一个Excel转Latex格式网站,适合excel整理好数据后导入。

下面式一般的三线表,一般用三线表多一点(好看。

\begin{table}[htbp]
  \centering
  \begin{tabular}{lll}
    \toprule
    A & B & C \\
    \midrule
    AA & BB & CC \\
    AAA & BBB & CCC \\
    \bottomrule
  \end{tabular} 
  \caption{Tabel}
  \label{Table}
\end{table}

图片

单张图片 [H]可以强制排版位置,一般用的是[htbp]
\caption 是下面说明
\label里是可以用于\ref的名字

\begin{figure}[H]
  \centering
  \includegraphics[width=0.7\linewidth]{Photo.png} 
  \caption{Photo} 
  \label{Photo} 
\end{figure}

两张图并列

\begin{figure}[htbp]
  \centering
  \subfigure[A]
        {
    \begin{minipage}[t]{0.5\linewidth}
      \centering
      \includegraphics[width=1in]{A.png}
    \end{minipage}
  }
  \subfigure[B]
        {
    \begin{minipage}[t]{0.5\linewidth}
      \centering
      \includegraphics[width=1in]{B.png}
    \end{minipage}
  }
  \centering
  \caption{Photos}
\end{figure}

四张图合一类型,其余同理

\begin{figure}[H]
  \centering
  \subfigure[A]
  {
    \includegraphics[width=7cm]{A.png}
    \label{A}
  }
  \quad
  \subfigure[B]
  {
    \includegraphics[width=7cm]{B.png}
    \label{B}
  }
  \quad
  \subfigure[C]
  {
    \includegraphics[width=7cm]{C.png}
    \label{C}
  }
  \quad
  \subfigure[D]
  {
    \includegraphics[width=7cm]{D.png}
    \label{D}
  }
  \caption{Photos}
\end{figure}

列表

enumerate可以标注序号的,\bfseries用加粗前面的序号,1.可以换成a.  , 1) , (i)
\quad 用于使整个item向右移

\begin{enumerate}[\quad \quad \bfseries 1.]
    \item ...
    \item ...
    \item ...
\end{enumerate}

itemize 没什么特别就是没有特别序号的enumerate,前面的标识可以换

慕课物理Latex答题模板

\documentclass[11pt, a4paper, UTF8]{article} 
\usepackage{geometry} 
\geometry{left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{amsthm} 
\usepackage{enumerate}
\usepackage{graphicx}% Include figure files 
\usepackage{dcolumn}% Align table columns on decimal point 
\usepackage{bm}% bold math 
\usepackage{color} 
\usepackage{ctex} 
\newcommand\degree{^\circ}
\allowdisplaybreaks[3] 
\renewcommand{\theequation}{R\arabic{equation}}
\renewcommand{\baselinestretch}{2.0}

\begin{document}
\begin{figure}[h]
  \centering
  \includegraphics[width=0.7\linewidth]{Photo.jpg} 
  \label{Photo} 
\end{figure}

\begin{enumerate}[(1)]
    \item  ...
    \item  ...
    \item  ...

\end{enumerate}
\end{document}

 

杂项

\textbf 加粗 \emph 斜体 文中数学字母要加
一般就直接\section \subsection \subsubsection什么的
伪代码什么的太复杂了,用到的时候直接现学吧..