标签: linux

找到 17 篇相关文章

简介 Linux的`make`程序用来自动话编译大型源码,实现只需要一个`make`执行就可以全自动完成。 `make`能自动化完成,是因为项目路径下提供了一个`Makefile`文件,由该文件负责告诉`make`,应该去编译和链接该项目程序。 `make`起初只针对C语言开发,但它实际应用并不限定C语言,而是执行Linux命令去应用到任意项目,甚至不是编程语言。 >此外`make`...

linux基础

**** 基本语法 **Markdown 是一种轻量级标记语言**,Markdown语法十分简单,常用的标记符号不超过10个,不到半小时就能完全掌握。 对于我来说使用Markdown的好处是,可以专注内容而不是纠结排版。 标题语法 在Markdown中要创建标题,只需要在文字前加入(`#`)。#的数量代表着标题的级别(一、二、三级标题)。 其他方式 可以在文本下方添加`===`或`--...

flushbonading

线程池的原理 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发得线程数量很多,并且每个线程都是执行一个时间很短得任务结束了,这样频繁得创建线程会降低系统的效率,因为频繁创建线程和销毁线程需要时间。 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都可以默认得堆栈大小,以默认优先级运...

linux基础

线程同步的概念 多个线程对内存中的共享资源访问时,让线程进行线性的方式,有顺序的访问。线程对内存的这种访问方式就是线程同步。 下面是一个两个线程同时对变量num,进行加1的操作的demo,但是最终结果与预想结果,有很大差异。下面我们将分析并解决线程同步的问题。 ``` #include <pthread.h> #include <stdio.h> #include <unistd.h> #...

linux基础

多线程特点 线程是轻量级的进程,在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源。 可以理解为:进程是资源分配的最小单位,线程是操作系统调度的最小单位。 在概念上了解线程与进程的区别: - 进程有自己独立的地址空间,多个线程共用一个地址空间 - 线程更加节省系统资源,效率不...

linux基础

流与FILE对象 **在标准IO中,所有的操作都是围绕流(stream)进行的**。当用标准IO库打开或创建一个文件时,我们已使一个流与一个文件相关联。 对于ASCII字符集,一个字符用一个字节表示。对于国际字符集,一个字符可以用多个字节表示。标准IO文件流可用单个字节和多字节字符集。 流的定向决定了所读、写的字符是单字节还是多字节的。 **当一个流最初被创建时,他并没有指向**。如...

linux基础

我们从stat函数开始,逐个说明state结构的每一个成员以了解文件的所有属性。并说明修改这些属性的各个函数(修改所有者、修改权限等)。 stat、fstat和lstat函数 ``` #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *pathname, struct st...

linux基础

引言 在UNIX系统中可用的文件I/O函数——打开文件、读文件、写文件等。UNIX系统中大多数文件I/O只需用5个函数:open、read、write、lseek、close。 文件描述符 文件描述符贯穿sysio系统调用的类型 对Kernel而言,所有打开的文件都通过文件描述符引用。**文件描述符就是一个非负整数**。当打开一个现有文件或创建一个新文件时,**内核向进程返回一个文件描述...

linux基础

**内存为程序分配空间有四种分配方式:** - 连续分配方式 - 基本分页存储管理方式 - 基本分段存储管理方式 - 段页式存储管理方式 连续分配方式 连续分配方式实现起来比较方便,所需要的硬件支持比较少 连续分配方式可以细分为四种:**单一连续分配、固定分区分配、动态分区分配和动态重定位分配** 其中固定分区的分配方式,因为分区固定,所以缺乏灵活性,当程序太小时,会造成内存浪费...

linux基础

遇见问题 我在跟随左盟主学习imx6ull的时候,遇见了一个比较难受的问题——**VS code因为找不到头文件而警告**,明明定义并声明了.h文件,但是当引用它的时候就会报错,然而它并不影响我的工程的编译。 但是作为一个强迫症患者,我见不得我的代码里有红色圆点的时候编译它,这样会很难受。所以我找了一下正点原子客服,询问这个情况,客服表示是编译器问题,让我正常使用就可以。但这并不是我...

linux基础

实现Ubuntu与Window进行文件互传 若使用虚拟的情况,可以直接在Window下复制进行粘贴到Ubuntu中;但是这种方式只限制在一个硬件上安装两个系统。 当时两个真正的硬件系统时候,就无法通过右键-复制粘贴,进行文件互传。那么我们就需要了解一种通用的Ubuntu与Window互传文件的方式——FTP服务。 开启Ubuntu下的FTP服务 在命令行中,输入指令 ``` sud...

linux基础

类中的对象,不仅可以有变量,还可以有函数;那么构造函数与析构函数是两个特殊的函数。 构造函数 构造函数定义了一个名称与类名相同,没有返回值的函数,这个函数成为构造函数; 它会在类的实例化中被调用。 析构函数定义则是一个名称比类名多一个“~”的函数,同样没有返回值;构造函数在对象实例化的时候调用,析构函数则是在对象被销毁的时候调用。 ``` #include<iostream> c...

c

继承的概念 什么是继承:日常生活中儿子继承父亲,这个就是继承。 - 什么是基类和派生类 创建新类时,并不需要创建全新的数据和成员函数,我们可以指明这个新类继承现有类的成员。此时,现有的类称为“基类”(父亲),继承实现的新类称为“派生类”(儿子)。 _白话解释:创建一个孩子时,并不需要重新构造各种身体特征,可以直接表明这个孩子是某个活着的父亲的。那么孩子就可以和这个父亲在某些方面比较像。_...

c

概念 在同一个作用域内,声明几个功能类似的**同名函数**,并且这些同名函数的**参数个数、参数类型或参数顺序不同,或者函数返回类型不同**,那么就叫函数重载。 _白话说明:函数就是可以看成一个人,这个人都叫刘bin,但是他们并不一样。_ 函数重载示例 ``` #include <iostream> using namespace std; class Stu { public:...

c

C语言是个面向过程的程序设计,C++是面向对象的程序设计 类的概念 - C++中的类是一种构造模型,与C的结构体相似,但进行了一些扩展,类的成员不但可以是对象还可以是函数;通过类定义的变量成为“对象”。 - 类是创建对象的模板,这里同样与C的结构体的概念类似,一个类可以创建多个对象,每个对象都是类这一类型中的一个变量;创建对象的过程也叫类的实例化。 - 如果理解不了,可以想象成...

c

**我在Ubuntu18安装Qt环境是出现了一个问题,下面把该问题的解决经验分享给大家!** 如出现一下错误,不要慌张,继续跟着往下操作 分析这个错误的出现:GLIBC是Linux底层的API库,有些环境需要GLIBC更高版本才支持,比如 GLIBC\_2.28;此时不建议大家更新GLIBC,可能会出现系统崩溃的情况。 软件包升级`GLIBC_2.28` - 1、查看服务器版本...

flushbonading

引言 Qt网站提供了不同发行版本的平台支持情况,比如我们查看的信息。 _可以看到Qt 5.15版本支持的Ubuntu版本为20、18_ 本人的Ubuntu一直使用的是18版本,所以选择安装了Qt5.15 LTS,所以本文将讨论如何在Ubuntu18版本上安装Qt 5.15 LTS版本。_(这里的LTS为长期支持版本)_ **PS:如果想快速安装就选择离线版本** 注册 Qt安...

qt