linux基础学习、vim操作

  • ctrl+shift+t:打开终端

  • vim分屏:末行模式:sp分上下两屏,wsp分左右两屏,ctrl+ww在两屏间切换

  • x删除一个字符

  • r替换一个字符

  • gcc命令:

    • gcc编译信息:gcc main.c -o main

    • gcc编译信息时指定头文件在什么目录:gcc -I./code main.c -o main

    • -c 只编译,生成.o文件,不进行链接

    • -g 包含调试信息

    • -On n=0~3 编译优化,n越大优化得越多

    • -Wall 提示更多警告信息

    • -D 编译预定义宏,注意-D和之间没空格

    • -E 生成预处理文件

    • -M 生成.c文件与头文件依赖关系用于makefile,包括系统库的头文件

    • -MM 生成.c文件与头文件依赖关系用于makefile,不包括系统库的头文件

    • -fPIC:生成的文件与位置无关:gcc -fPIC -c a.c

  • ldd app:ldd能查看gcc -o生成的程序依赖于哪些库

  • 动态库(共享库)

    • gcc -shared -Wl,-soname,libmycal.so.1 -o libmyab.so.1.10 a.o b.o 该命令生成libmyab.so.1.10共享库,可以通过libmycal.so.1链接到该共享库
      调用该共享库需要在/etc/ld.so.conf下添加该共享库路径,然后sduo config -v更新

    • 优点:代码体积小

    • 缺点:编译环境得保证有共享库存在

  • 静态库:库链接进程序中,代码体积大

posted @ 2017-01-26 10:02  呉语伦比  阅读(138)  评论(0)    收藏  举报