1. makefile文件中链接静态库有两种写法:
gcc -o hello hello.c libfunc.a gcc -o hello hello.c -L. -lfunc
链接动态库只有一种写法
gcc -o hello hello.c -L. -Lfunc
如果一个目录既有libfunc.a 和 libfunc.so, 则
gcc -o hello hello.c -L. -lfunc优先使用动态库。
2. linux启动流程:
1. 加载BIOS的硬件信息,并获取第一个启动设备的代号 2. 读取第一个启动设备的MBR的引导加载程序的启动信息,即bootloader 3. 加载操作系统的核心信息,操作系统kernel开始解压缩,并且尝试驱动所有硬件设备 4. kernel开始执行init程序,并且获取运行信息 5. init执行 /etc/rc.d/rc.sysinit文件 6. 启动kernel的外观模块 7. init执行各个批处理文件 8. init执行 /etc/rc.d/rc.local文件 9. 执行 /bin/login 程序,等待用户登录 10. 登录之后,开始以shell控制主机