本系列笔记供自己回顾知识点,欢迎大家指正,学习素材来自:
https://www.youtube.com/channel/UCg8JQhTCcrJ67ixjInoKyPQwww.youtube.com编译器
编译器的作用是将人写的代码编译成可执行文件。代码是人写,他人可阅读的;可执行文件是交给机器的操作的,人看不懂的。OpenFOAM采用C++编程,在安装时会自动添加gcc和g++作为编译器。可用以下命令查看当前gcc和g++版本:
gcc --version
g++ --version
git简介
git是软件开发人员最常用分布式版本控制系统,用于合作开发和版本控制等。本笔记不再累述git的强大,仅记录如何使用git开发并控制我们自己的OpenFOAM版本。不熟悉git可以直接跳过本小节,今后用到时自然会熟能生巧,本文末有推荐的git自学链接。以下列出几个git命令:
git branch + 分支名 创建新的分支
git checkout + 分支名 切换到目标分支
git checkout -b +分支名 创建新分支并切换到该分支
git commit 主要是将暂存区里的改动给提交到本地的版本库,这时库中的文件和本地文件又变为一致,此时当前分支向前,并保持了修改记录
使用github
注册gitbub,并在上面创建自己的Repositories,该Repositories可用于保存自己开发的代码。以下操作讲述如何用git和github管理自己的开发的代码块。
Repositories创建完成后复制该Repositories的URL到本地的文件夹。首先创建并进入本地文件夹:
mkdir gitHub_OF_workSpace
cd gitHub_OF_workSpace
将GitHub上创建的代码仓库Repositories克隆到本地:
git clone https://github.com/YongIi/C-_programming_in_OF.git ./
上行代码中的https://github.com/YongIi/C-_programming_in_OF.git是你自己在GitHub上创建的Repositories地址,别拷贝我的。别人的代码仓库可以下载到本地,但是没有上传权限,修改后无法回推到GitHub。
接下来在本地创建一个文件夹basicCode用来存放自己的代码:
mkdir basicCode
cd basicCode/
在该文件夹下编写自己的第一个C++程序Hello_world:
vim hello_world.cpp
在打开的vim编辑器中输入以下代码:
// A hello world program in C++
用g++编译器将我们写的代码编译成可执行文件:
g++ hello_world.cpp -o hello_world
生成的执行文件名为hello_world,下面我们来运行一下该可执行文件:
./hello_world
会在终端打印出Hello World
修改的代码保存回GitHub
经过上述操作后,克隆下来的代码库Repositories与GitHub上原来的Repositories相比,在本地多创建了一个basicCode的文件夹,这个文件夹下又多了一个hello_world.cpp代码源文件以及生成的一个hello_world可执行文件。现在将所有的修改回存到GitHub上。
首先返回到克隆Repositories的文件夹gitHub_OF_workSpace:
cd ..
把所有的修改添加到暂存区Index:
git add .
暂存区是用来临时保存改动的,使用以下命令来提交改动:
git commit -m "hello world added"
其中-m "hello world added"是记录本次上传修改了哪些内容,例如本次修改给出的信息是“添加了hello world程序”,每次修改完程序回存到GitHub时可以添加相关的信息。这些信息可以在GitHub上追踪到:
第一次commit时需要添加开发人员信息,往后便不用了:
根据提示输入自己的邮箱和用户名就行,告诉代码库是哪位开发者提交的改动,如果是合作开发的项目,方便管理员审核。具体操作如上图,我就不贴代码了。
最后将修改提交保存到远端的GitHub代码库:
git push origin master
以上命令输入后会提示输入GitHub的用户名和密码,验证通过后就会把在本地的修改保存到GitHub中,可以在GitHub网址上查看自己上传的修改。其实git的功能很强大,操作流程有些复杂,属于开发人员必备,大家自己摸索git吧,我不开专栏了,贴两个git的自学帖子,第二个推荐电脑网页打开:
git 使用简易指南www.bootcss.com本节课词汇:
brackets 括号()
semicolons 分号;
commas 逗号,
curly brackets 花括号{}
underscore 下划线_
forward slash 斜号/