一:了解根目录
1. opt一般按照软件
2.查看根目录
ls /
3.查看命令
ls /bin
二:.o文件打包生成静态库 工程拷贝(备份)
1.进入home
cd /home/
2.进入用户文件
cd crh/
3.进入工程
cd mz
4.生成.o文件
gcc -c hello.c
5.ls查看有hello.o文件
ls
6. .o文件打包生成静态库
ar -crv libmyhello.a hello.o
7.ls查看生成.a文件
ls
8.返回上一级
cd ..
9.工程拷贝---mz中做静态库 mzback中做动态库
cp -r mz/ mzback/
10查看--工程已经拷贝
ls
三: 静态库的学习 -- mz
1.删除 ---- 若是把不想删的给删了,去备份工程下拷贝一个到当前工程中
rm main.i
cp mzback/hello.h mz
2.拷贝某工程下某文件到另一个工程中
cp mzback/hello.h mz
3. mz工程下需要:
hello.h(接口文件) main.c(自己写的) libmyhello.a(源码内容)才可以生成exe可执行程序
hello的方法在.a中 myhello--静态库库名
4.重点 ----------- 静态库编译生成可执行程序
gcc main.c -o main -L../mz -lmyhello
5.查看生成main可执行
ls
6.运行
./main
7.将main可执行放到上一级中,也可执行
cp main ..
cd ..
ls
./main
四:动态库的学习--mzback
1.进入mzback工程
cd mzback/
2.生成动态库(共享库)--生成.so文件
a.先生成.o文件:
gcc -fpic -c hello.c
b.生成.so文件
gcc -shared -o libmyhellotest.so hello.o
3.ls查看---.so文件已经生成
ls
4.编译生成.out可执行程序
gcc main.c -L../mzback -lmyhellotest
8.查看--a.out可执行程序已经生成
ls
9.a.out不可以运行 查看下 lib(系统目录)
ls /lib
五:.so文件要拷贝到系统目录下--相当于需要dll(动态链接库)文件
1.将.so文件拷贝到系统目录下
cp libmyhellotest.so /lib
2.运行a.out -- 可以运行
./a.out
3. 将a.out拷贝到上一级目录中也可以运行
cp a.out ..
cd ..
./a.out
4.若是把系统目录下.so文件移除---相当于DLL(动态链接库)文件 没有--就不能运行了
六:GDB调试的学习
1.需要-g
gcc *.c -o main -g
2.进入调试
gdb main
1.打断点(第几行)
b 3
2.运行
r
3.下一步
n
4.退出调试
q
5.进入调试
gdb main
1.查看列表(代码)
l
2.在第5行打断点
b 5
3.运行
r
4.退出调试
q