0115 gcc静态库动态库了解(个人)

目录

一、文件命令知识点

二、gcc深度理解


一、文件命令知识点

  1. ls      -al 隐藏文件也以长格式显示       -S文件大小排序    -t按时间   --color=never/always/auto(--命令完整拼写)  
  2. cp(也可以做到复制文件)   

         -f同名覆盖        -i询问是否覆盖        -r子目录复制           

         -u更新(每个时间都对应一个实数;用最新的文件覆盖;时间戳/三个时间:1创建修改时间、2文件取用时间、3权限修改时间)        

  1. rm    -fir           仅能删除普通文件不能删系统文件
  2. mv   -fiu
  3. man 1  ls         查询选项:1Linux常用命令  2系统调用  3库函数  
  4. 略看 
    1.cat  tac  显示在终端(滚屏溢出500)
     -n行号  
     横向跳格 
     空格 换行   
     -E T v A 编辑符号特定显示   
    
    2.more 分屏查看只能往后(鼠标除外) 
      翻页空格 回车滚一行  
      /字符串  查找字符串
      q退出   
     
      less    
      支持pg up down     
      ls -al /etc | less  grep显示更丰富
    
    3.head  -n值 文件名   
      tail   默认十行   
      eg:截取10到20行   head -n20 test.c  | tail -n10 
    
    4.touch -acdmt修改时间属性
    
    5.vim  -iao  
      G:光标到最后一行      d1G:删除第一行到最后一行      yG:复制光标到文件末尾 p1G 
     /name(?name):查找name 标记为深颜色  
      u:回退到上一步(Windows下的crtl+z)  crtl+r:前进到一下步     
      7+yy+p :光标处开始复制7行 
      3+dd   :光标处开始删除3行
      /re    
      X/x相当delete   
      nx光标
    
    6.底行模式
    /**
    *  :n1,n2行号范围 s替换/word1/word2/gc全局询问
    *  :n1,$   s/word1/word2/g
    *  :% s/word1/word2/g
    **/
    
    底行模式功能键
    : !ls  底行模式执行Linux命令
    :w n1 n2  filename   页码n1到n2另存为filename文件
    :set nu显示行号
    :set nonu取消行号
    
    多文档编辑
    vim demo1.c demo2.c demo3.c    多窗口文档编辑
    :sp demo4.c   通过一个文件打开在两个窗口显示
        1、crtl+w窗口切换
        2、ctrl+wk向上移动光标  CTRL+wg向下移动光标  CTRL+ww则来回切换
        3、:n下一个   :N上一个    
        4、:!files 文件列表
    
    
    7.vim选取行号:1、alt+鼠标不受限的选中文字       2 、v+移动光标      3、crtl+v 整行选取  
    
    
    
    
    
                                  
  5. 1.  scanf("%s",string)       输入字符串不能带空格   
        scanf("%[^\n]",string)   输入字符串可以带空格,^就是省略号)     
        
    2.输入分隔符默认有三个:空格 回车 tab
      格式字符和普通字符     格式字符如:%d %s   普通字符如:\n  
    
    3.gets 编译后的文件自带warning 
      fgets没有警告
    
    4. float div(int a,int b)
       {
           return  ((float) a)/b ;    
       }
    如果在编译时直接用div.c文件而不在main.c里声明函数   3/5 结果为0.0000   
    这表示没有声明函数时(#include"div.h"),main.c默认div函数return的是int而不是float div(int x,int y)   //???
    

    8.数据库编程 -lsqlite3      线程编程 -lpthlited

二、gcc深度理解

1.gcc交叉编译流程C语言和C++

2. 指出文件位置./207/0115/main.c        eg:gcc main.c -lcal  -L./  -I./207/0115/ -o main

3.-D宏名:等效于.c里的#define PI = 3.14

   eg:   gcc hello.c -o hello -DPI=3.14

4.这里运行的还是动态库.so,不怕被static迷惑了; 

   libcal.a和libcal.so都存在/usr/lib  程序会优先选择libcal.so动态库;

   静态库:1、gcc -c  demo1.c demo2.c demo3.c  

                  2、ar-rcs libcal.a demo1.o demo2.o demo3.o

                  3、gcc main.c -lcal -L./ -o main

   动态库:

5.gdb调试版比发行版文件大几倍

 1、 gcc       -g 添加调试信息      -C不删除注释信息

 2、 gcc -g demo.c -o demo    

 3、 gdb test --tui     //图形界面
        run           break 17设置断点    delete取消断点    info break查看断点           continue        print i显示当前值          print sum           next/n            list滚屏          quit y       layout asm           layout src      layout split    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值