- 博客(26)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 ubuntu cmake 制作动态库时,总是依赖当前目录下的别的动态库
Wl,-rpath,“$ORIGIN”:在 target_link_libraries 链接 WoodAi.so 的地方,添加 -Wl,-rpath,“$ORIGIN” 链接标志,以指示链接器使用相对路径。这将确保在链接时使用相对路径来链接 WoodAi.so。
2023-07-07 17:15:20
1231
原创 多阶段构建前端docker镜像
1.前端镜像构建记录1. dockerfile# 第一阶段FROM node:latest AS buildARG COSTAR_ENVENV COSTAR_ENV=${COSTAR_ENV}COPY . .RUN npm config set registry https://registry.npm.taobao.org/ && \ npm install && \ npm run dev_build && \ mv
2022-02-07 08:30:48
2022
原创 同步从github导入到gitlab的项目
如果是别人的项目,先fork到自己github账户下,然后用gitlab导入自己github上的代码。参考自:https://www.jianshu.com/p/0959d021c281(1)查看远程状态git remote -v(2)增加github仓库的remote (upstream 自己起的名字)git remote add upstream git@github.com:ZLMediaKit/ZLMediaKit.git(3)git pull upstream master
2021-10-15 10:24:58
1876
原创 gitlab删除.idea文件夹
git rm -r --cached .ideagit commit -m “delete .idea”git push无法删除原因:.idea被gitlab跟踪,且删除不影响项目building
2021-09-10 16:33:29
1085
原创 wget 警告: 无法验证
wget jemalloc时,报错:wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2 --no-check-certificate解决办法:wget后面加上 --no-check-certificatewget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.b
2021-08-23 15:24:02
862
转载 智能指针(shared_ptr、unique_ptr、weak_ptr)
#include <iostream>#include <memory>int main() { // (一)shared_ptr // 1. 初始化。智能指针是个模板类,可以指定类型,传入指针通过构造函数初始化。也可以使用make_shared函数初始化。 // 2. 不能将指针直接赋值给一个智能指针,一个是类,一个是指针。例如std::shared_ptr<int> p4 = new int(1);的写法是错误的 // 3. 拷
2021-06-01 16:04:11
665
2
原创 extern和static的区别
1. static1.1 局部变量生命周期是静态数据区,直到程序结束。作用域仍然是当前语句块。注意:静态局部变量只在初次运行时进行初始化,且只进行一次。注意:如果没有进行初始化的话,整形变量系统自动赋值为0,字符数组,自动赋值为’/0’1.2 全局变量作用域仅在本文件。1.3 修饰函数与修饰变量大同小异,仅仅改变了作用域。1.4 成员函数该函数属于这个类,而不属于类的任何对象。只能访问静态成员。2. extern表示此变量/函数在别处定义,要在此处引用。如果是在ma
2021-06-01 09:25:40
247
原创 (10)文件包含
#!/bin/bashecho "包含外部脚本语法:. filename # . 和 filename之间有个空格或者source filename"# 实例echo "创建两个shell脚本:test1.sh、test2.sh"echo "test1.sh 内容如下:":<< EOF#!/bin/bashurl="www.xxxxxxxxxxx.com"EOFecho "test2.sh 内容如下:":<< eof#
2021-05-28 09:05:08
75
原创 (九)Shell 输入输出重定向
#!/bin/bashecho "大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。"echo "一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。"echo "同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。"# 重定向命令列表如下::<<EOFcommand > file # 将输出重定向到 filecommand < file # 将输入重定向到 filecommand &g
2021-05-28 08:53:38
168
原创 (八)Shell函数
#!/bin/bash# 1. Shell函数# 1.1 函数定义格式:<<EOF[ function ] funcname [()]{ action; [return int;]}# 1. 可以带function fun()定义,也可以直接fun()定义,不带任何参数# 2. 参数返回,可显示加:return 返回,如果不加,最后一条命令的结果将作为结果返回。# 3. return后根数值n(0-255)EOF# 1.2 实例1demoFun(){
2021-05-26 18:29:18
164
原创 (七)流程控制
#!/bin/bash# shell的流程控制不可为空:<<EOF<?phpif (isset($_GET["q"])) { search(q);}else { // 不做任何事情}在 sh/bash 里可不能这么写,如果 else 分支没有语句执行,就不要写这个 else。EOF# 1. if else# 1.1 if 语法:<<EOFif conditionthen command1 command2
2021-05-25 16:24:49
84
原创 (六)test命令
#!/bin/bash# 用于检查条件是否成立:数值、字符和文件# (一)数值:<<EOF-eq 等于则为真-ne 不等于则为真-gt 大于则为真-ge 大于等于则为真-lt 小于则为真-le 小于等于则为真EOFnum1=100num2=200if test ${num1} -eq ${num2}then echo 两个数相等else echo 两个数不等fi# (1)代码中的 [] 执行基本的算数运算,但是最好用(())echo "(num1+
2021-05-24 11:36:57
168
原创 (五)printf(代替echo)
#!/bin/bash# printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好# (1) 使用引用文本和空格分隔参数# (2) 可在printf中使用格式化字符串, 可以制定字符串宽度、左右对奇方式等# (3) 默认printf不会想echo自动添加换行,可以使用 \n# (4) 语法: printf format-string [arguments...]# format-string:格式控制字符串# a
2021-05-20 18:11:03
294
原创 (四)运算符
#!/bin/bash:<<EOFShell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 ` `而不是单引号 ''):EOF# Notice:# (1) 表达式和运算符之间要有空格,例如 2+2 是不对的,
2021-05-19 08:44:28
77
原创 (三)传递参数
#!/bin/bashecho "Shell 传递参数实例!";echo "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为:$2";echo "第三个参数为:$3";echo "number of para: $#";echo "para as a string:$*";# $* 与 $@ 区别:# 相同点:都是引用所有参数。# 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,# 则 " * " 等价于 "1 2 3"(
2021-05-19 08:43:24
98
原创 (二)变量 variate
#!/bin/bash# 定义变量时,变量名不加$# 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。# 中间不能有空格,可以使用下划线(_)。# 不能使用标点符号。# 不能使用bash里的关键字(可用help命令查看保留关键字)。your_name="runoob.com"# 语法错误: 未预期的文件结尾# for file in `ls /etc/`# 使用定义过的变量,{}加花括号是为了帮助解释器识别变量的边界echo $your_nameecho ${your
2021-05-19 08:41:15
118
原创 (一)echo用法
#!/bin/bash1.显示普通字符串echo “It is a text.”echo It is a text.2.显示转义字符echo ““It is a text.””echo “It is a text.”3. 显示变量name=nnnnnnnnnnnecho “$name It is a text.”4. 显示换行 -eecho -e “OK! \n”echo OK5. 显示不换行echo -e “OK! \c”echo “OK!”6. 显示结果定向至文件ech
2021-05-19 08:38:25
348
转载 Docker 思维导图
Docker(一)快速开始1)在容器内运行一个应用程序docker rundocker run ubuntu:15.10 /bin/echo “Hello world”docker: Docker 的二进制执行文件。run: 与前面的 docker 组合来运行一个容器。ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
2021-05-18 15:32:07
367
原创 GitLab CI-CD 配置记录(二)(group runner设置)
1. 使用管理员登陆GitLab2. 点击项目群组设置按照单个项目单个Runner的配置方法配置即可!
2021-05-13 17:57:41
1462
原创 .gitlab-ci.yml学习记录
0. 前言本文参考gitlab官方文档GitLab.com(13.12-pre)1. 关键字总结1.1 Job 关键字关键字简单描述after_script定义每个job后运行的命令,即使job失败了,也会执行(job超时和已取消时,无法执行)。before_script定义应在每次job之前运行的命令组 。script运行程序执行的Shell脚本。allow_failure允许job失败,失败的job不会导致pipeline(管道)失败 (all
2021-05-11 18:07:39
124
如何使用grpc下的C++版的拦截器?
2021-03-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人