- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 rtklib中关于结构体中互斥量成员的理解
渣渣小白读二爷的rtklib源码,看到svr结构体里的互斥量没看懂怎么用,补了下相关知识如下:step1:先看这个搞懂什么是多线程和互斥量step2:再看源代码:#define thread_t pthread_t#define lock_t pthread_mutex_t#define initlock(f) pthread_mutex_init(f,NULL)#define lock(f) pthread_mutex_lock(f)#define unlock(f)
2020-12-01 18:53:54
520
1
转载 Linux下pthread多线程函数入门
转载自:https://blog.youkuaiyun.com/orzorz/article/details/54397801、概述多线程程序作为一种多任务、并发的工作方式,有以下的优点:提高应用程序响应。这对图形界面的程序尤其有意义,当一个操作耗时很长时,整个系统都会等待这个操作,此时程序不会响应键盘、鼠标、菜单的操作,而使用多线程技术,将耗时长的操作(time consuming)置于一个新的线程,可以避免这种尴尬的情况。使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不
2020-12-01 17:58:53
1489
原创 给兄弟的毕业工作定居指导
2012毕业至今,已过八载,兄弟也要在2021年毕业了。父亲问我有什么参考意见,把在北京工作生活经验做个总结,给兄弟一个参考。1、郑重选择第一份工作如果说高考是改变人生的第一个机会,那么可以非常肯定的说,毕业后的第一份工作绝对是第二个机会。读书期间的学习生活是为了日后的工作做积累,而第一份工作是对你学生时代所学技能的一次综合运用,体现在为人处世,责任心,工作能力,表达能力,逻辑处理能力,抗压能力等等各方面。a、工作城市的选择:一部分家庭背景较好的同学会面临一个选择问题:父母安排工作。首先祝贺
2020-07-27 13:38:50
345
原创 C++函数加强
1、内联函数inline请求关键字, 内联编译内联函数的函数体,需要和实现写在一块#define MYFUNC(a, b) ((a) < (b) ? (a) : (b))//a 2 b 3inline int myfunc(int a, int b){ return a < b ? a : b;}C++中内联编译有限制:不能存在任何形式的循环语句;不能存在过多的条件判断语句;函数体不能过大;不能对函数进行取址操作;函数内联声明必须在调用语句之前。当函数的执行
2020-07-12 23:23:05
125
原创 引用
引用是C++的语法,不能用C语言的语法思考。引用在定义的时候就必须得给他赋值。中科院薛老师说过,引用是“引用其表,指针其实”。引用像一个常量,有分配内存。在C++内部是一个常量指针。&b相当于char *const p...
2020-07-12 22:43:23
89
原创 三目运算符在C和C++的区别
1)c语言中三目运算符是表达式,返回的是变量值,不能作为左值使用。2)c++中的三目运算符可直接返回变量本身,因此可以让表达式做左值,可出现在程序的任何地方。3)(a<b?1:b)=10;如果三目结果返回常量,则不能当左值,当右值仍可以。...
2020-07-11 16:34:57
219
原创 链表基础(增删查改)
静态链表的应用范围只限于本函数,有局限性,无法跨函数调用,所以在子函数中要malloc分配内存。链表的数据类型是结构体。#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include "stdlib.h"#include "string.h"typedef struct Node{ int data; struct Node *next;}SLIST;SLIST *Creat_SList();//增int SList_NodeD
2020-07-07 23:49:05
152
原创 结构体基础
1、结构体本质相当于,自己定义了一个数据类型,数据类型的本质是固定大小内存块的别名。2、.c和.cpp对结构体类型定义变量的编译处理行为不一样。3、结构体类型typedef4、结构体变量内存按照四字节存放结构体变量做参数和结构体指针变量做参数不一样。结构体变量做参数实参往形参传递参数的实质是“=”,赋值。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<stri
2020-07-06 16:21:21
300
原创 避免野指针三步法
避免野指针的步骤:1、初始化时,指针变量赋值为NULLchar *p=NULL;2、释放的时候,判断指针是否为NULLif (p!=NULL) free(p);3、释放完毕后,在赋值成NULLif (p!=NULL) free(p); p=NULL;如果多次使用同一指针,要多次循环步骤2和步骤3。...
2020-07-05 16:07:48
159
原创 多维数组本质小结
#include "stdio.h"#include "stdlib.h"#include "string.h"void main33(){ int i = 0, j = 0, tmp = 0; //a是数组首元素的地址 int a [5] = {3, 4, 5, 6, 2}; //1 myarray数组首元素的地址吧 //2 myarray是一个常量指针 3k //3 myarray是一个数组指针 int myarray[3][5]; //直接定义一个数组指针 int (*p
2020-07-01 20:05:25
140
原创 数组指针小结
#include<stdlib.h>#include<stdio.h>#include<string.h>void main(){ int i = 0; int a; int *p = NULL; //arr代表数组首元素的地址(不是整个数组的地址,虽然二者值一样),arr是个指针常量 //变量---》指针变量-----》常量指针变量(常量指针) //不能被随便的改变指针变量的值(不能随便的改变指针的指向)相当于int func(int * con
2020-07-01 15:37:02
141
1
原创 const小结与应用
/******THE START/小结:1、const在一般变量中的用法:const int a = 10;int const b = 11;//a=12;//编译不了。const在定义a,b的作用是一样的。2、const在指针下的用法:const int *c=0xaa1122;// *c=10;编译不了,无法写,只读。int * const d=0xaa11; //称为常量指针。// d=0xaa22;无法改变d的值,编译不了。const char *const e;
2020-06-29 23:14:18
133
原创 struct和typedef struct的联系和区别
/---------------------------THE START----------------------------------/定义:1、typedef的定义语法:typedef existing-type new-type;关键字typedef 允许你从一个现有的类型中创建一个新类型。2、struct 的定义语法: struct struct-name : inheritance-list { public-members-list; pr
2020-06-27 13:53:55
273
GTSAM-toolbox-master
2022-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人