搭建CI环境和git使用
部署Git+Gerrit+Jenkins 的CI环境
使用Git作为代码存储及版本控制
使用Jenkins进行自动化构建
构建测试通过后,再交给人工review
人工review通过后,自动同步到远程Git库中。
git —— 项目的版本管理工具
将项目的每个节点版本保存起来,以便随时能够回滚还原
协同开发
操作:
克隆远程仓库:git clone [ gitee仓库路径 ]
添加修改记录:git add --all ./
提交本地仓库:git commit -m "备注信息"
同步远程仓库:git push origin master
g++/gcc ——编译器,即将高级语言编译成为机器指令默认链接方式:动态链接
编译过程:
预处理——展开所有代码(宏替换,头文件,)
gcc -E 文件名 (-o(用来生成一个预处理文件) 生成的文件名)(mian.i)
编译——语法语义检测,没有错误则将代码解释成汇编指令
gcc -S 文件名 -o…(mian.s)
gcc -g——生成debug调试程序
eg: gcc -g main.c -o mian
汇编——将汇编指令解释成二进制的机器指令
gcc -c 文件名 -o…(mian.o)
链接——将所有需要的二进制机器指令(其他的.o以及库文件)打包生成可执行程序
gccmian.o -o…(mian)
静态链接:
将库中的使用到的代码写入到可执行程序中
缺陷:生成的程序较大,在运行时存在重复冗余代码
优点:运行时不需要依赖库
动态链接:
在可执行程序种记录库中函数符号信息表,并没有把具体实现的指令写入可执行程序,而是在运行程序的时候去加载这个库
优点:生成的程序小,在内存中共享库
缺陷:运行时依赖库的存在
gdb ——调试器,调试程序运行过程默认链接方式:
动态链接编译过程:预处理——展开所有代码(宏替换,头文件,)gcc -E 文件名 (-o(用来生成一个预处理文件) 生成的文件名)(mian.i)
编译——语法语义检测,没有错误则将代码解释成汇编指令
gcc -S 文件名 -o…(mian.s)
gcc -g——生成debug调试程序
eg: gcc -g main.c -o mian
汇编——将汇编指令解释成二进制的机器指令
gcc -c 文件名 -o…(mian.o)
链接——将所有需要的二进制机器指令(其他的.o以及库文件)打包生成可执行程序
gccmian.o -o…(mian)
静态链接:
将库中的使用到的代码写入到可执行程序种
缺陷:生成的程序较大,在运行时存在重复冗余代码
优点:运行时不需要依赖库
动态链接:
在可执行程序种记录库中函数符号信息表,并没有把具体实现的指令写入可执行程序,而是在运行程序的时候去加载这个库
优点:生成的程序小,在内存中共享库
缺陷:运行时依赖库的存在
gdb调试器——调试程序运行过程
调试程序的前提 ——这个程序是一个debug版本的程序
debug程序:
不进行代码优化,并且会加入调试信息
release程序:
会进行代码优化,提高程序运行效率(gcc默认生成release版本程序无法进行调试)
————————————————
版权声明:本文为CSDN博主「一月拾壹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stromSLR/article/details/121342745
最新文章
- Geotrellis系列文章链接
- (转)深入理解javascript连续赋值表达式
- js 将json对象转成字符串
- 0921MySQL 报错 ERROR 1290 (HY000): running with the --secure-file-priv
- STUN: NAT 类型检测方法
- FFmpeg 2.0编译配置
- CSS modules 与 React中实践
- 潜在语义分析Latent semantic analysis note(LSA)原理及代码
- js生成验证码并且判断
- HDU 4727 The Number Off of FFF
- ssh免秘钥登录
- XMPP 测试工具
- 基于GraphCuts图割算法的图像分割----OpenCV代码与实现
- 安卓Android基础第五天
- Promise 异步函数的加上外壳终止Promise
- MySQL Key值(PRI, UNI, MUL)的含义
- React-Native 之 项目实战(一)
- js-ES6学习笔记-字符串的扩展
- cocos2dx 优化略记
- python django 环境搭建