EXPORT
# if defined( MP4V2_EXPORTS )
# define MP4V2_EXPORT __declspec(dllexport)
# define MP4V2_EXPORT __declspec(dllimport)
# define MP4V2_EXPORT
# define MP4V2_EXPORT __attribute__((visibility("default")))
https://www.cnblogs.com/helloweworld/p/4372936.html
SIGPIPE
struct sigaction sa;
sa.sa_handler = SIG_IGN;
sigaction( SIGPIPE, &sa, 0 );
#include <signal.h>
void handle_pipe(int sig)
{
//do nothing
}
int main()
{
struct sigaction sa;
sa.sa_handler = handle_pipe;
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
sigaction(SIGPIPE,&sa,NULL);
//do something
}
https://www.cnblogs.com/zxc2man/p/7660240.html
linux kernel debug
https://www.ibm.com/developerworks/cn/linux/l-kdbug/index.html
https://www.ibm.com/developerworks/cn/linux/l-cn-dumpanalyse/index.html
https://www.cnblogs.com/dhcn/p/10898843.html
linux coredump
ulimit -c ulimit -c unlimited ulimit -a vi /etc/profile ulimit-c unlimited vi /etc/rc.local echo "/data/coredump/core.%e.%p" >/proc/sys/kernel/core_pattern gdb core-file /data/coredump/core.test.9198 #gdb ./test core.xxxxx where or bt
#include<stdio.h> void core_test1(){ int i=0; scanf("%d",i); printf("%d ",i); } void core_test2(){ char *ptr = "my name is hello world"; *ptr = 0; } int main(){ core_test1(); return 0; }
g++ -g core.cpp -o test
ps -ef |grep gb28181-ms
screen -ls
screen -r id
screen -D -r id
ctrl + a + d 退出
linux文件/目录属性
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
chrome离线安装
https://www.jianshu.com/p/7c93b62387ab
linux nc
https://linux.die.net/man/1/nc
Ubuntu环境下SSH服务安装、SSH远程登录以及SSH数据传输
https://www.cnblogs.com/asyang1/p/9467646.html
minicom配置
sudo minicom -s
dos2unix
sudo apt-get -y install dos2unix
find . -type f -exec dos2unix {} ;
windows下对127.0.0.1抓包, RawCap很方便
https://blog.csdn.net/sunny_ss12/article/details/51460848
code::blocks clion atom vscode
ubuntu安装atom
https://blog.csdn.net/hao5743/article/details/52056194
ubuntu安装vscode
sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
umake web visual-studio-code
umake web visual-studio-code --remove
code.visualstudio.com
sudo dpkg -i code_1.44.2-1587059832_amd64.deb
gcc升降级
https://blog.csdn.net/agenih/article/details/79491366
https://blog.csdn.net/betty13006159467/article/details/78394974
git 一个分支完全覆盖另一个分支
1,git push origin develop:master -f
就可以把本地的develop分支强制(-f)推送到远程master
2,
git checkout master // 切换到旧的分支
git reset –hard develop // 将本地的旧分支 master 重置成 develop
git push origin master –force // 再推送到远程仓库
liaoxuefeng git
14、树梅派
树梅派应用56:用树莓派搭建Git私有服务器
https://blog.csdn.net/huayucong/article/details/54407143
树梅派应用58:使用ngrok将树莓派web服务映射到公网
https://blog.csdn.net/huayucong/article/details/54407189
13、Linaro Toolchain
https://www.linaro.org/downloads/
Linaro provides monthly GCC source archive snapshots of the current Linaro GCC release branch, as well as quarterly releases of pre-built Linaro GNU cross-toolchain binary archives.
The following tables provide direct access to the most common Linux and bare-metal ABI variants of the Linaro binary cross-toolchain quarterly releases. Both x86_64 Linux and Mingw32 (MS Windows compatible) host binaries are provided:
Latest Linux Targeted Binary Toolchain Releases
arm-linux-gnueabihf | 32-bit ARMv7 Cortex-A, hard-float, little-endian | Release-Notes | Binaries | Source |
armv8l-linux-gnueabihf | 32-bit ARMv8 Cortex-A, hard-float, little-endian | Release-Notes | Binaries | Source |
aarch64-linux-gnu | 64-bit ARMv8 Cortex-A, little-endian | Release-Notes | Binaries | Source |
Latest Bare-Metal Targeted Binary Toolchain Releases
arm-eabi | 32-bit ARMv7 Cortex-A, soft-float, little-endian | Release-Notes | Binaries | Source |
aarch64-elf | 64-bit ARMv8 Cortex-A, little-endian | Release-Notes | Binaries | Source |
12、交叉编译lrzsz实现arm串口xmodem,ymodem,zmodem协议的lrz和lsz数据收发
http://blog.chinaunix.net/uid-20564848-id-74714.html
11、各种视音频封装格式分析
http://blog.csdn.net/leixiaohua1020/article/details/17934487
10、USB 调试工具(python2.7 + Tkinter + pyusb/pywinusb)
http://www.cnblogs.com/jakeyChen/p/4463530.html
https://github.com/Qbicz/ChibiOS-mems-usb
9、串口调试工具(Python2.7+pyserial+Tkinter)
http://www.cnblogs.com/jakeyChen/p/4465281.html
8、在windows上用adb安装android apk
adb工具:http://files.cnblogs.com/files/dong1/adb1.0.32.zip
用ADB(Android Debug Bridge)实时监测Android程序的运行
https://blog.csdn.net/peibaoyi/article/details/9422487
7、VIM安装插件
1)sudo apt-get install ctags
2)ctags -R
http://www.cnblogs.com/ynxf/p/5922661.html
http://www.cnblogs.com/zhaoyl/p/4078164.html
6、CheckTool:CRC校验、累加和校验、异或和校验专业校验工具V1.1
http://www.cnblogs.com/tdyizhen1314/archive/2012/10/10/2718808.html
5、keil mdk __attribute__用法
4、beyond compare 30天评估期到期
beyond compare 4你的30天评估期到期,那时候也打不开软件,输入不了注册码,然后也不想花过多时间搞这玩意,简单,一步解决问题。
找到beyond Compare 4文件夹下面的BCUnrar.dll,将其删掉或者重命名,再重新打开接着使用。windows下可行,linux没试。
3、PL2303驱动
http://www.prolific.com.tw/US/ShowProduct.aspx?pcid=41&showlevel=0017-0037-0041
2、repo应用
下了好几个repo都不靠谱,运行报错
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno 101] Network is unreachable
解决方法,先单独克隆repo,然后将git-repo里面的repo文件复制到用户根目录下的bin目录里,在同步源码的工作目录新建.repo文件夹,把git-repo重命名为repo复制到.repo目录下:
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
重新初始化:
repo init -u https://github.com/intel-ndg/manifest -b v4.1 -m default.xml
同步开始
repo sync -j5
1、代码托管
1)github公共空间免费,私有空间收费。
2)gitlab完全免费再加送整个系统
3)bitbucket比github更好用
git 一个分支完全覆盖另一个分支
1)
git push origin develop:master -f
就可以把本地的develop分支强制(-f)推送到远程master
2)
git checkout master // 切换到旧的分支
git reset –hard develop // 将本地的旧分支 master 重置成 develop
git push origin master –force // 再推送到远程仓库
git合并分支
dong@ubuntu:~/z1/demo$ git branch
* aaa
dong@ubuntu:~/z1/demo$ git checkout -b xxx
切换到一个新分支 'xxx'
dong@ubuntu:~/z1/demo$ git branch
aaa
* xxx
dong@ubuntu:~/z1/demo$ git merge aaa
Already up-to-date.
dong@ubuntu:~/z1/demo$ git branch -D aaa
已删除分支 aaa(曾为 439e803)。
dong@ubuntu:~/z1/demo$ git branch
* xxx
dong@ubuntu:~/z1/demo$ git push -u origin xxx
Counting objects: 62, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 781 bytes | 0 bytes/s, done.
Total 9 (delta 7), reused 0 (delta 0)
To git@172.16.23.76:/home/pi/workspace/git/demo.git
e7b3d0c..439e803 xxx -> xxx
分支 xxx 设置为跟踪来自 origin 的远程分支 xxx。
dong@ubuntu:~/z1/demo$ git log
commit 439e8034030ae75ba112740f3662769eded6c49b
Author: dong <15019442511@163.com>
Date: Thu Sep 27 02:28:24 2018 -0700
合并aaa分支
临时合并分支
git checkout -b tmp
git branch --set-upstream-to=origin/tmp tmp
git pull
log:
dong@ubuntu:~/1/qbox10$ git checkout -b zdd
M application/business_layer/src/bl_warn.c
切换到一个新分支 'zdd'
dong@ubuntu:~/1/qbox10$ git status
位于分支 zdd
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: application/business_layer/src/bl_warn.c
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
lib/nmea/lib/libnmea_so.so
source/rtklib/src/interface/libinterface.a
source/rtklib/src/interface/libmain.a
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
dong@ubuntu:~/1/qbox10$ git merge wwx
Already up-to-date.
dong@ubuntu:~/1/qbox10$ git add application/business_layer/src/bl_warn.c
dong@ubuntu:~/1/qbox10$ git commit -m "
> 适配服务器角色
> "
[zdd eb88d3a] 适配服务器角色
1 file changed, 4 insertions(+), 4 deletions(-)
dong@ubuntu:~/1/qbox10$ git branch -D wwx
已删除分支 wwx(曾为 b1a4a13)。
dong@ubuntu:~/1/qbox10$ git branch
* zdd
dong@ubuntu:~/1/qbox10$ git push -u origin zdd
Counting objects: 54, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 531 bytes | 0 bytes/s, done.
Total 6 (delta 5), reused 0 (delta 0)
To git@172.16.23.248:/home/workspace/git/qbox10.git
6141bb1..eb88d3a zdd -> zdd
分支 zdd 设置为跟踪来自 origin 的远程分支 zdd。
dong@ubuntu:~/1/qbox10$
合并分支
dong@ubuntu:~$ git clone -b merge git@172.16.xx.yyy:/home/workspace/git/project.git
正克隆到 'project'...
remote: Counting objects: 23917, done.
remote: Compressing objects: 100% (14341/14341), done.
remote: Total 23917 (delta 12822), reused 18505 (delta 8786)
接收对象中: 100% (23917/23917), 293.18 MiB | 11.13 MiB/s, done.
处理 delta 中: 100% (12822/12822), done.
检查连接... 完成。
dong@ubuntu:~$ cd project/
dong@ubuntu:~/project$ git branch -a
* merge
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/merge
remotes/origin/zdd
dong@ubuntu:~/project$ git chekout zdd
git:'chekout' 不是一个 git 命令。参见 'git --help'。
您指的是这个么?
checkout
dong@ubuntu:~/project$ git checkout zdd
分支 zdd 设置为跟踪来自 origin 的远程分支 zdd。
切换到一个新分支 'zdd'
dong@ubuntu:~/project$ git merge merge
更新 e9b175d..ffa355b
Fast-forward
.gitignore | 2 +
CMakeLists.txt | 24 +-
...
...
dong@ubuntu:~/project$ git push origin zdd
Total 0 (delta 0), reused 0 (delta 0)
To git@172.16.xx.yyy:/home/workspace/git/project.git
e9b175d..ffa355b zdd -> zdd
dong@ubuntu:~/project$
4步
git clone -b tmp git@172.16.xx.yyy:/home/workspace/git/project.git
git branch -a
git chekout zdd
git merge tmp
ssh key
https://blog.csdn.net/yunna520/article/details/83346207