IT Technology

docker基础命令

初次启动container(容器),会从image(镜像)生成一个新的容器来启动。
container是image的实例,container中的修改在独立的空间进行,不会改动image,当然可以同步container到image。

docker run

等价于create container & docker start, 创建新容器,并启动它。

docker start

启动已存在的容器

阅读全文»

Ubuntu下用Qemu安装Ubuntu

Qemu在Linux安装新系统一次成功,在window下卡启动报告~

安装 qemu

apt-get instll qemu qemu-utils qemu-system-x86

新建虚拟机,安装系统

qemu-img create -f qcow2 ubunut18_x86_64.img 10G
qemu-img info ubunut18_x86_64.img
qemu-system-x86_64 --enable-kvm -m 1G -smp 2 -boot order=dc -hda /home/u0u0/works/qemu-images/ubuntu18.img -cdrom /home/u0u0/ubuntu-18.04.5-live-server-amd64.iso

阅读全文»

编译ffmpeg库

win10下用WSL编译

环境

  1. win10安装WSL
  2. 安装Ubuntu 20.04 LTS
  3. sudo apt-get install yasm make

编译

  1. "D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"
  2. bash
  3. ./configure --toolchain=msvc --arch=x86_32 --enable-x86asm --enable-shared --enable-w32threads --disable-doc --disable-static --enable-optimizations --disable-debug --prefix=output
  4. make install

Mac 编译

m1机器编译arm64

./configure --arch=arm64 --disable-shared --enable-pthreads --disable-doc --enable-static --enable-optimizations --disable-debug --prefix=output_arm64
make install

intel机器编译x86_64

./configure --arch=x86_64 --disable-shared --enable-pthreads --disable-doc --enable-static --enable-optimizations --disable-debug --prefix=output_x86_64
make install

合并

lipo -create output_arm64/lib/libavcodec.a output_x86_64/lib/libavcodec.a -output /prebuilt/mac/libavcodec.a
strip -S /prebuilt/mac/libavcodec.a

golang Sleep的精度无法用来写驱动

now1 := time.Now()
time.Sleep(18 * time.Microsecond)
now2 := time.Now()
fmt.Println(now2.Sub(now1))

---- output ----
30.938µs
33.749µs
26.979µs
26.146µs
25.52µs
25.209µs
27.292µs
25µs
150.52µs
28.021µs
27.656µs
25.52µs
146.77µs
27.709µs
25µs
142.447µs
149.843µs

ubuntu 20安装gcc7

安装gcc7和g++7

sudo apt install gcc-7 g++-7

添加配置

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7

切换gcc版本

sudo update-alternatives --config gcc