Git学习笔记

一、Git命令

git clone

用于从远程仓库克隆项目。

  • HTTPS git clone https://github.com/GCS-ZHN/IDRBonline.git
  • SSH git clone git@github.com:GCS-ZHN/IDRBonline.git

可以选择只克隆指定分支

1
git clone --single-branch --branch main_dev https://github.com/GCS-ZHN/SoCube.git

git init

在当前文件夹建立git本地仓库,会出现.git本地文件夹。

git add

添加本地文件夹进入仓库。git init后需要add到index区域(一个压缩包文件)才能将内容递交加入仓库。添加本文件夹git add .。没有add的文件称为unstagegit status可以看到状态。add后称为stage

1
git add . # 将当前目录及其子目录的修改或新增加入

git commit -m

git add只是将项目加入暂存区index,利用commit最终将项目递交到本地仓库。参数为提交的备注评论。

git commit -am <COMMIT>可以用于删除。

阅读全文
java学习笔记

一、JavaDoc

javadoc是为java开发者提供程序注释工具,通过采用规范的javadoc语法对java源码进行注释,并利用提供的javadoc工具快速生成标准的javadoc文档。当其他人使用开发者发布的工具包时,可以通过javadoc文档阅读,快速学习了解相应的应用程序接口(api)。

1.1 注意点

javadoc默认Console输出编码采用系统默认,在涉及中文编码时会产生乱码,通过配置环境变量JAVA_TOOL_OPTIONS=--Dfile.encoding=UTF-8解决

二、函数式接口与Lambda表达式

2.1 java 8 函数式接口概述

函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口, 其用@FunctionalInterface标注。可以由Lambda表达式转化创建。这种接口一般用于功能的自定义实现。在Java 8以前,想要达到目的必须使用接口的显式类或匿名内部类的形式,如创建一个新的线程:

1
2
3
4
5
6
new Thread(new Runnable(){
@Override
public void run(){
System.out.println("Hello World");
}
}).start();

在java 8中引入了著名的Lambda表达式,对于函数式接口,可以通过Lambda表达式迅速创建,减少了语法冗余。
1
2
3
4
5
//相当于创建了一个Runnable接口实例,并传入
new Thread(()->{System.out.println("Hello World");}).start();

//这样也是可以的
Runnable runnable = ()->{System.out.println("Hello World");};

阅读全文
C++学习笔记
cpp | C++

一、Dev C/C++编译器gcc/g++

1.1 常见编译参数与相关文件

参数名 描述
-c 仅编译,不链接
-o 输出文件名
-l 链接库文件名,动态库(.so(linux)/.dll(win))、静态库(.a),仅用于链接时寻找库,而可执行文件寻找动态库仍然依据系统环境变量。
-L 链接库所在路径文件夹
-I 头文件所在文件夹
名称 描述

.dll|动态库(dynamic linked library)文件
.h/.hpp|头文件,由于预编译时被“#include”指令包含

1.2 编译过程概述

1.预编译器执行#include、#define等编译指令对源文件进行预处理,include指令的作用等同于jsp:include,即文本替换包含进源文件。

如果一个文件中包含许多头文件,编译器为了优化编译速度,会预编译头文件为.h.gch文件,下次将会加载.h.gch文件。当修改.h文件时需要删除.h.gch文件。

阅读全文
Cython学习笔记
python | cython | cpp | c++ | c | 扩展

一、Cython安装与编译

Cython能够扩展Python,使用C/C++代码来实现对C/C++的调用。

  • pyx文件:cython源代码文件
  • pxd文件:cython自己的库文件,通过cimport进行调用
  • pyd文件:cython编译后产生的python库,python中import进行使用,主要用于定义C/C++类型
  • pxi文件:类似于C/C++的头文件,通过include进行文本包含
  • setup.py:将cython编译的工具

1.1 Cython安装

通过pip命令安装

1
pip install Cython

1.2 Cython编译

(1)通过setup.py工具编译,文件代码如下

1
2
3
4
5
6
7
8
from setuptools import setup
from Cython.Build import cythonize

setup(
name='Hello world app', //对应最后生成的python库名
ext_modules=cythonize("hello.pyx"), //对应cython源文件名
zip_safe=False,
)

阅读全文