makefile主要用在一个项目中有多个C文件,源文件分为不同类型、功能和模块。makefile定义了一系列的规则来指定哪一个文件先编译,那个后编译等操作。
Linux环境下使用makefile可以统一管理方便快捷:
makefile的通用结构如下:
# 以"#"开头的行表示注释
# 第一条目标为总的目标
# 在目标后跟着该目标的依赖,依赖可以是文件,目录或为其他目标
# 动作可以是linux命令,动作所在的一行必须用[TAB]开头。
target: depend1 depend2 depend3 ...
[TAB] action1
[TAB ] action2
target1:
[TAB] action1
[TAB] action2
例子:
CC=gcc
AR=ar
INSTPATH=./hello_world
all:
$(CC) hello.c -o hello
$(CC) -E hello.c -o hello.i
clean:
rm -f hello hell0.i
install:
cp -f hello hello.i ./hello_world
uninstall:
rm -f ./hello_world/hello ./hello_world/hello.i
其中还包括一些语法使用,用哪个语法科学上网搜索学习然后使用。
Git
git和码云两个网站可以仓库。码云国内的浏览快捷,不用翻墙
目前常用的版本控制系统有CVS、Git、Mercurial、Subversion等,但主流是svn和git
svn和git的区别:
1.GIT是分布式的,SVN是集中式管理;
2.GIT把内容按元数据方式增量存储,而SVN是按文件; <.svn .git .cvs>
3.GIT分支和SVN的分支(branch)概念不同;
4.GIT的内容完整性要优于SVN:git内容存储使用的是SHA-1哈希算法;
5.SVN有一个全局的整数编号,而git则是一个SHA-1值作编号:
6.SVN控制粒度可以到某个目录(当然很少这样做);而git一般是整个项目
首先建立自己的仓库(码云为例)
然后是虚拟机下安装git sudo apt-get install git
之后新建文件夹并进入到文件夹,从服务器克隆下载代码
git clone 对应的网址
到这一步,就在虚拟机下创建好一个git仓库了。在每个被git托管的项目的顶层目录中,都会有一个.git的掩藏文件,里面有个config文件里有存放项目托管URL路径,如果忘了该项目被哪个地址托管,可以从这里获取。
5)如果想要提交代码到git服务器上,则使用下面的命令
git add 要提交的文件名
git commit -m"关于此次提交的一些注释信息"
git push
若是第一次提交的话,必须要配置用户名和邮箱,提交的日志会记录谁提交或修改了文件
或是在git仓库下误删了文件可以用通过
git checkout
命令把删除的文件从.git文件中减出来,当你不小心删除服务器上代码删除了可以使用以下命令
git log
该命令将显示出你提交的代码的各个版本号,你可以选择一个未删除你所需要的文件的版本号,然后再使用以下命令
git reset --hard 8bdd57804ca
git push origin HEAD --force
第一个命令即指定回退到某个版本号,第二个命令则让该操作生效。
7)使用git的可以进行多用户协同开发。假设A和B都从git服务器上拷贝了代码,当A修改了某个文件后,再上传到git服务器,这时B可以使用git pull 命令就获取到服务器上最新的代码。