lesson1 - 开发工具使用

1. 编译器-gcc

  1. gcc test.c -o test.o
  2. 预处理:gcc -E test.c -o test.i
  3. 编译:gcc -S test.i -o test.s
  4. 汇编:gcc -c test.s -o test.o

2. Linux的调试器-gdb

linux下默认是以release方式发布,所以需要在gcc后面加上-g 将release转换成debug

  1.  l:显示代码(默认只有10行)
  2. b+行号:打断点
  3. info b:查看断点
  4. d+断点编号:删除断点
  5. display+变量:常显示
  6.  undisplay+编号:取消常显示
  7. r: 运行起来
  8. s:逐语句
  9. n:逐过程
  10. finish:结束函数调用,然后停下
  11. c:运行到下一个断点处
  12. gdb具有记忆命令的功能,<回车>会触发上一条命令

3. 自动化构建工具-make/Makefile

  • $^  表示:依赖文件列表
  • $@ 表示:目标文件
  • %.c表示:当前目录下的所有的.c文件展开
  • %.o表示:对用.c形成的.o
  • $<表示:%.c所代表的源文件,一个一个的拿出来,用gcc进行编译,形成同名的.o
  • 补充:gcc -c mian.c == gcc -c main.c -o main.o
  • 补充:*.o 表示匹配所有后缀是.o的文件
  • 补充:在依赖方法前加上@,make时就不会回显指令

4. 缓冲区的刷新策略

  1. 无缓冲(立即)
  2. 行缓冲(\n)
  3. 全缓冲(缓冲区满的时候再刷新,磁盘文件(file))
  4. 程序退出,自动刷新
  5. fflush(stdout)刷新缓冲区
  6. 注意:vs2019中的\n是即换行又回车 

 5 版本控制器-git

  • 安装git:sudo yum install -y git
  • 克隆远程仓库到本地: git clone 远程仓库地址
  • 添加文件:cp 文件名 仓库
  • 查看添加文件:git status​

5.1 git三板斧

  • git add 文件名
  • git commit -m "日志信息"
  • git push

5.2 生成token令牌

  • username 是github的用户名
  • Password 是github的用户的token令牌(不是你的账号密码)

6. 函数库的分类 

Linux中:.so(动态库),.a(静态库)

windows中:.dll(动态库),.lib(静态库)

  • ldd 可执行程序 
  • gcc生成的可执行程序默认是通过动态库链接
  • 动态链接:将库中我要的方法的地址,填入我的可执行程序中,建立关联,节省资源

  

  • ls /lib64.libc-2.17.so # 提供C语言的方法实现
  • ls /usr/include/stdio.h # 提供C语言的方法列表,方法的声明

  • -static:表明使用静态链接的方式形成可执行程序 
  •  如果链接失败试试:
    • sudo yum install -y glibc-static # C静态库
    • sudo yum install -y libstdc++-static #C++静态库
  •  静态链接:将库中方法的实现,真的拷贝到我们的可执行程序中!但占用资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值