Linux
在mac osx上如何编译32位的libx265
由 hubdog 于 星期四, 2014-03-13 20:17 发表注释掉
# if("${CMAKE_SIZEOF_VOID_P}" MATCHES
# set(X64 1)
# add_definitions(-DX86_64=1)
# endif()
否则总是强制编译成64位的library
if(X86 AND NOT X64)
add_definitions(-march=i686)
endif()
在mac osx上应该是
if(X86 AND NOT X64)
add_definitions(-m32)
endif()
另外
if(APPLE)
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho")
elseif(UNIX AND NOT CYGWIN)
应该改成
if(APPLE)
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho -DPREFIX")
elseif(UNIX AND NOT CYGWIN)
否则编译出来的*.o的函数声明没有下划线,C编译的时候会找不到asm的函数
CentOS上安装gcc4.7.2
由 hubdog 于 星期三, 2014-01-22 14:07 发表莫名其妙的磁盘空间消失
由 hubdog 于 星期六, 2013-12-07 12:12 发表Ubuntu上突然硬盘空间少了20G,用disk usage analyzer 看不到是什么文件占用了空间.
sudo rm ~/.xsession-errors.old
在ubuntu上安装boost
由 hubdog 于 星期日, 2013-08-11 16:50 发表参考
http://particlephysicsandcode.wordpress.com/2013/03/11/installing-boost-...
编译32位的boost,需要下面的命令
sudo ./b2 address-model=32 --with=all -j 2 install
将batch批处理移植为Shell脚本
由 hubdog 于 星期四, 2013-08-08 23:51 发表Shell脚本
1.要以#!/bin/bash开头
2.变量引用赋值语句
Shell
a="123"
批处理
set a=123
引用写法,后一种写法在变量和字符串拼接时可以避免歧义
$a 或者 ${a}
批处理
%a%
3.路径名最好都统一成反斜杠
4.判断文件是否存在
批处理
if NOT EXIST %input% (
Shell
if [ ! -f $input ]; then
5.表达式计算
批处理
set /A a2=%a%/2
shell
half=2
let a2=($a / $half)
6.获取系统时间转换为指定格式字符串
批处理
set date=%date: =0%
set adate=%adate:~0,4%%adate:~5,2%%adate:~8,2%
Shell
adate=$(date +"%Y%m%d")
7.遍历文件
批处理
for /f "usebackq" %%i in (`dir /b %dir%\*.txt`) do call :test_file %%~ni %%i
exit /b
:test_file
echo %1
exit /b
Shell
for i in $dir/*.txt; do
id=$i
echo $id
系统备份脚本
由 hubdog 于 星期六, 2013-06-01 23:41 发表sudo rsync -azvv /srv/www/ /home/hubdog/backup
tar -zcvf backup_20130601.tar.gz backup
备份数据库
mysqldump -u root -phubdog2425 --all-databases > /home/hubdog/mysql.sql
unix下运行shell脚本容易遇到的问题
由 hubdog 于 星期三, 2012-04-25 11:39 发表注意语句中要有#!/bin/sh
另外注意文件格式一定要是unix的,否则会报Bad interpreter的错误, 可以用dos2unix来转换
Ubuntu下sudo无法使用自定义Path的问题
由 hubdog 于 星期六, 2012-04-21 22:41 发表Ubuntu下面有一个secure path的特性,每当sudo时,系统会重置path环境变量,导致自定义的path变量无法被使用,解决办法
sudo visudo
添加Defaults !secure_path在Defaults env_reset的后面就可以了。