控制GCC 在编译期间输出信息的方法:#pragma message string
举例:#pragma message "Compiling " __FILE__ "..."
gcc 编译动态链接库的方法: gcc -fPIC -shared temp1.c temp2.c -o libtemp.so
动态连接库有两种使用方案: gcc test.c -o test -ltemp(隱式调用) gcc testso.c -o test -ldl(显式调用)
find /usr/include/ -name "*.h" -exec grep -l "unio ipu" {} \; find 查找命令示例
find . -name "*.c" -exec grep -l "\[" {} \;
查找typedef 的定义: grep '^typedef .* GLintptr;' /usr/include/GL/*.h
查找include头文件: grep -r '^#include' /usr/include/ 查找子目录
————————————————————————————————————————————————————————df -h : 查看磁盘各个分区的使用情况
du -h --max-depth=2 :查看目录的空间使用情况, max-depth指定显示的递归的深度
————————————————————————————————————————————————————————
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
回退到过去,用git log可以查看提交历史,以便确定要回退到哪个版本。
穿越到未来,用git reflog 查看命令历史,以便确定要回到未来的哪个版本。
git reflog --pretty=oneline
————————————————————————————————————————————————————————
删除文本文件中的空行,使用vim global 命令会非常方便
vim :set number 显示行号
vim 按ESC然后123 G 跳转到123行
vim G跳到文件结尾所在的行
vim 命令行模式下面光标处输入p 进行粘帖
vim 命令模式下d 是删除,y是复制,dd yy 分别是操作当前行。
:g/^$/d 执行完命令后保存即可。元字符^(和数字6在同一个键位)和$都匹配一个位置,^匹配查找字符串开头,$匹配结尾。
:g/pattern/p 只显示匹配的行
:g!/pattern/p 只显示不匹配的行
\s\+ 匹配多个空格
命令的形式: :[range]global/{pattern}/{command} global命令在[range]指定的文本范围内(缺省为整个文件)查找{pattern},然后对匹配到的行执行命令{command},如果希望对没匹配上的行执行命令,则使用global!或vglobal命令。
:g/^/m 0 倒序文本行的vim global 命令 执行的是vim的move命令。
:%s/^M$//g 去除^M ^M 的输入是ctrl +v+enter
:startlinenum, endlinenumd 删除多行 例如 :100,200d 删除从100行到200行包括100,200行。
:startlinenum, endlinenum w outputfile 将通过行号指定的内容写入到文件中。
:11,$d 删除11行及以后所有的行 $匹配文件的最后一行。
:1,10 co 20 将1-10行插入到第20行之后。
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
:1, 10 m 20 将第1-10行移动到第20行之后
vim filename +n 可以在打开文件的同时定位到第n行。
例如 vim myfile +100 //打开的同时光标停在第100行行首
也可以在打开文件的同时找到第一个匹配的词。vim filename +/pattern
例如 vim config.mk +/export //打开的同时光标停在第一个export所在的位置(词首)
按两次单引号”‘” 回到上次光标的位置
————————————————————————————————————————————————————————
构造一个log机制,设定log 的级别
enum
{
LOG__LEVEL_ERR,
LOG_LEVEL_INFO,
LOG_LEVEL_DBG,
};
设置一全局变量记录当前的级别 gGurLogLevel = LOG__LEVEL_ERR
__FILE__":"#__LINE__ 当前正在进行编译的文件和行号,该方法不正确。
vim copy & paste operation
Position the cursor where you want to begin cutting.
Press v to select characters (or uppercase V to select whole lines).
Move the cursor to the end of what you want to cut.
Press d to cut (or y to copy).
Move to where you would like to paste.
Press P to paste before the cursor, or p to paste after.
————————————————————————————————————————————————————————
http://git-scm.com/docs/gitignore点击打开链接 介绍gitignore的使用方法
http://blog.csdn.net/chain2012/article/details/7476493点击打开链接
http://www.cnblogs.com/baizx/archive/2010/08/09/1796124.html点击打开链接
http://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C点击打开链接
http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html点击打开链接
http://stackoverflow.com/questions/15225991/android-4-2-2-rsa-disabling点击打开链接
http://android-dls.com/wiki/index.php?title=HOWTO%3a_Unpack,_Edit,_and_Re-Pack_Boot_Images点击打开链接
http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html点击打开链接
https://wiki.videolan.org/YUV 点击打开链接
http://www.gamedev.net/topic/642924-ffmpeg-calculating-pts-of-decoded-video-frames/点击打开链接
http://stackoverflow.com/questions/2774535/what-is-pts-in-reference-to-video-encoding点击打开链接
http://en.wikipedia.org/wiki/Presentation_timestamp点击打开链接
http://stackoverflow.com/questions/24195926/opencv-write-webcam-output-to-avi-file点击打开链接
http://superuser.com/questions/589622/simplest-video-grab-from-webcam-how-to点击打开链接
http://docs.opencv.org/opencv2refman.pdf点击打开链接
http://stackoverflow.com/questions/1025702/saving-results-of-regex-search-into-a-file-with-vim点击打开链接
http://vimdoc.sourceforge.net/htmldoc/pattern.html点击打开链接
http://stackoverflow.com/questions/1305853/how-can-i-make-my-match-non-greedy-in-vim点击打开链接
http://www.ijailbreak.com/how-to-root/点击打开链接
https://www.idealsoftware.com/opensource/scan-1d-2d-barcodes-webcam-zxing-opencv-visual-c.html点击打开链接
http://www.cnblogs.com/xdzone/archive/2011/03/11/1981102.html点击打开链接