g++ -MM abc.cpp 分析abc.cpp的依赖,生成如 abc.o : **.h **.h的输出,方便写Makefile
g++ -E -P -o abc_ext.cpp abc.cpp 将abc.cpp的include和宏进行扩展后输出到abc_ext.cpp
Makefile是一种以文件为基本单位,修改时间为操作判断,执行外部程序为手段的工具。
.PHONY : labela labelb 表示这些都是标签目标,而不是文件目标。标签目标在运行时总是运行,而文件目标需要查看修改时间。
Makefile把第一个目标作为工作目标,所以,Makefile总是有目标。
在GCC中使用预编译头文件:
g++ -o boost_pt.h.gch -x c++-header -g -Wall -I /home/zjay/Downloads/boost_1_43_0 boost_pt.h
选择使用静态链接库:
g++ -static hello.cpp
打包静态库:
g++ -c x.cpp y.cpp
ar rcs libxy.a x.o y.o
生成动态库(so是shared object的意思):
g++ -fpic -c x.cpp y.cpp
g++ -shared -o libxy.so x.o y.o
g++ -c hello.cpp
g++ -L ./ -lxy hello.o
export LD_LIBRARY_PATH=./
./a.out
输出汇编
g++ -S test.cpp
g++ -O -S test.cpp // 加上-O,inline才起作用
函数桢栈:http://blog.youkuaiyun.com/wangmiao926/archive/2006/05/13/726890.aspx