1. C++编译文件:g++ -g -Wall -std=c++11 -pthread -O1 -o test test.cpp
-g是加编译信息,方便后续可以用gdb调试;
-Wall,提供比较详细的warning信息;默认使用的是-W不提供warning;
-std=c++11,支持c++11的语法;
-O[N]:优化等级。默认是0,不做优化;还可以设置为1(Moderate),2(Full),3(Maximum);
-pthread: 编译多线程程序需要链接libthread.so库;
2. C编译文件:gcc -o test test.cpp
3. C++编译为动态库:
g++ -fPIC -shared -o test.so test.cpp
其中-fPIC:表示编译为位置独立的代码,动态载入是通过代码拷贝的方式来满足不同进程的需要。
-shared:生成动态链接库。