- 博客(25)
- 收藏
- 关注
原创 shell 中的单引号和双引号和`
shell 中的单引号和双引号和`单引号是啥就是啥,显示出来双引号里边有变量就把变量解析出来,但不执行` (键盘1左边英文状态下的符号)解析变量,并且执行若ehco ’$EPID‘,则直接显示$EPID若写成:则输出" "解析出原文件格式是什么样就输出什么样,之前不加双引号是直接堆一块的...
2021-08-16 14:59:26
59
原创 move的作用
// move example#include <utility> // std::move#include <iostream> // std::cout#include <vector> // std::vector#include <string> // std::string int main () { std::string foo = "foo-string"; std::string
2021-08-04 15:03:13
212
原创 Undefined symbols for architecture arm64
Undefined symbols for architecture arm64:问题Undefined symbols for architecture arm64:解决在cmakelist里把要编译的所有 .cpp文件加上,与在终端中用g++ *.cpp 同理。
2021-07-30 19:02:11
531
原创 Makefile:8: *** missing separator. Stop.
makefile问题Makefile:8: *** missing separator. Stop.解决Makefile的命令行必须以一个tab(键盘tab键)作为开头。出错语句之前是空格,不是tab。
2021-07-30 17:20:48
298
原创 Makefile中的常用函数——wildcard,patsubst,filter
Makefile中的常用函数wildcard提取文件用#拿到DIR指定目录的所有文件SRC = $(wildcard $(DIR))#拿到当前文件夹下的 *.cpp 文件src=$(wildcard ./*.cpp)patsubst替换文件后缀用$(patsubst 原模式, 目标模式, 文件列表)OBJS = $(patsubst %.cpp,%.o,$(filter %.cpp,$(SRC)))filter过滤文件用SRC = $(wildcard $(DIR))#INC
2021-07-27 15:31:15
371
原创 makefile编译文件夹内所有main文件,生成各自的可执行程序
编译文件夹内所有main文件,生成各自的可执行程序src = $(wildcard *.c)targets = $(patsubst %.c, %, $(src))CC = gccCFLAGS = -Wall -g #显示所有警告,-g用于gdb调试F=-lpthread #多线程库文件all:$(targets) @echo 1 #不加有时提示 上一行命令什么也没做,随便加一句$(targets):%:%.c $(CC) $< -o
2021-07-26 16:44:11
352
原创 编译多线程程序出现reference to `pthread_create‘的错误
编译多线程程序出现reference to `pthread_create'的错误错误:错误原因:问题解决:错误:直接编译多线程程序,出现reference to `pthread_create’的错误。错误原因:pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在编译时需要链接该库。问题解决:在编译中要加 -lpthread参数...
2021-07-26 11:48:58
80
原创 mysql重置密码
https://blog.csdn.net/xy707707/article/details/80820189?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162066023416780274177230%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162066023416780274177230&bi
2021-05-10 23:40:02
91
原创 const char* 和string转换
const char* 和string 转换(1) const char*转换为 string,直接赋值即可。 EX: const char* tmp = "tsinghua". string s = tmp;(2) string转换为const char*,利用c_str()EX: string s = "tsinghua"; const char*tmp = s.c_str();char和const char之间的转换(1) const cha.
2021-04-28 16:13:02
4022
原创 const核心用法
https://blog.csdn.net/piaopiaopiaopiaopiao/article/details/12254277?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-t
2021-04-18 16:28:26
48
原创 调用另一个CPP文件的函数
有时候写代码为了简便,会将一些函数方法单独在一个cpp的源文件中定义,然后在另一个源文件中需要用到自定义的函数时直接调用就可以了!学过c++的人可能最熟悉的方法还是利用头文件来进行调用,其实还有一种c语言当中的方法一般情况下同样可以适用与c++中!方法1:创建头文件举个简单的例子:首先创建一个method.h头文件,声明一个求最大值的函数max(int x,int y),然后再创建一个同名的源文件method.cpp,在该文件中实现函数max(int x,int y)的功能。代码如下://metho
2021-04-18 10:51:11
3892
原创 priority_queue实现堆
priority_queue实现堆priority_queue对于这个模板类priority_queue,它是STL所提供的一个非常有效的容器。作为队列的一个延伸,优先队列包含在头文件 中。简述优先队列时一种比较重要的数据结构,它是有二项队列编写而成的,可以以O(log n) 的效率查找一个队列中的最大值或者最小值,其中是最大值还是最小值是根据创建的优先队列的性质来决定的。模板参数优先队列有三个参数,其声明形式为:priority_queue< type, container, fun
2021-04-08 16:54:33
102
原创 2021-04-03
不过这两种访问元素的方式有什么区别呢?.v[]和v.at()都可以对v中元素进行访问,并且访问的元素时都不能越界,比如a[10]或a.at(10)这样的使用会报错。区别在于,operator[]不做边界检查, 哪怕越界了也会返回一个引用,当然这个引用是错误的引用,如何不小心调用了这个引用对象的方法,会直接导致应用退出。而由于at会做边界检查,如果越界,会抛出异常,应用可以try catch这个异常,应用还能继续运行...
2021-04-03 16:38:37
38
原创 2021-04-02
首先给出一个函数int function(int a){return a;}一、定义一个函数指针int (*fun)(int a);// 赋值fun = function;// 使用fun(2);二、定义一个函数指针类型typedef int (*function_p)(int a);//定义一个实体函数指针funcyion_p fun;// 函数指针赋值fun = function;// 使用fun(2);三、定一个函数类型typedef int (function
2021-04-02 10:45:40
42
原创 2021-03-20
目录使用一维数组模型二维数组静态二维数组动态二维数组利用vector创建二维数组#include #include using namespace std;int rows=2,columns=3;使用一维数组模型二维数组int a0[] = {1,2,3,4,5,6};for(int i=0;i<rows;i++){for(int j=0;j<columns;j++){cout<<a0[icolumns+j]<<" ";//a0[icolumn
2021-03-20 21:12:48
46
原创 字符串转化成字符型指针
string.h中的一个函数c_str()可以将一个字符串的首地址赋予一个字符指针。例如const char *str = s.c_str(),将字符串s的首地址赋予str。
2021-02-28 19:45:13
998
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人