对程序员来说,一份工作坚持多久跳槽最合适?

你为什么想跳槽?    马爸爸说过,员工想离职,要么钱给少了,要么干的不开心了,这无非是物质层面需求或精神层面需求没得到满足。我想说的是,现在这个时代没有能干一辈子的工作,变化太快了,尤其是对技术人员来说,所以你也没必要相信所谓的社会公认什么的,对程序员来说,一份工作坚持多久跳槽最合适?根据人力资源专家迈克尔.O.切...
📅 2023-05-13 阅读全文 →

C语言main函数有哪些写法呢

    main函数是C程序的入口函数,即程序的执行是从main函数开始,对其他函数的调动也是直接或间接地在main函数中被调用。那么main函数又是被谁调用呢?答案是操作系统。C语言发展至今,对main函数有多种不同的写法,下面就来探究一下各种不同的写法。无参数版本:NO.1main(){}NO.2void main(){}...
📅 2023-05-13 阅读全文 →

24小时学通Linux内核--内核探索工具类

 寒假闲下来了,可以尽情的做自己喜欢的事情,专心待在实验室里燥起来了,因为大二的时候接触过Linux,只是关于内核方面确实是不好懂,所以十天的时间里还是希望能够补充一下Linux内核相关知识,接下来继续待在实验室里想总结一下Linux内核编程,十天肯定完全掌握不了Linux内核,这里我也只是把自己认为不是很好懂并且很重要的难点疑点写出来,和大家一起分享,希...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动之字符设备驱动

一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。 ...
📅 2023-05-13 阅读全文 →

C++小游戏:扑克牌21点

21点扑克牌游戏:程序说明:该程序是模拟21点扑克牌游戏,玩家最多可以要5张牌,但是如果牌的点数之和超过21点,则自动出局,在不超过21点的情况下,玩家与庄家比牌的大小,大者为赢家程序片段分析:【1】头文件处:#include<iostream>#include<cstdlib>#include<ctime>using ...
📅 2023-05-13 阅读全文 →

机器学习理论提升方法AdaBoost算法第一卷

   AdaBoost算法内容来自《统计学习与方法》李航,《机器学习》周志华,以及《机器学习实战》Peter HarringTon,相互学习,不足之处请大家多多指教!       提升算法是将弱学习算法提升为强学习算法的统计学习方法,在分类学习中,提升方法通过反复修改训练数据的权值分布,构建一系列...
📅 2023-05-13 阅读全文 →

Qt 学习笔记-强势入门

    Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能.Qt有两个重要概念:“信号和槽”和“布局”。    Qt用“信号和槽”代替window...
📅 2023-05-13 阅读全文 →

队列及其实现

    和栈相反,队列是一种先进先出的特殊线性表,它只允许在表的一段进行插入,而在另一端删除元素,这里需要注意,队列不允许在中间部位进行操作,队列通常有两种实现方式:顺序结构实现、链式结构实现。队列有下面几个操作:InitQueue()   ——初始化队列EnQueue()       ...
📅 2023-05-13 阅读全文 →

I2c串行总线组成及其工作原理

    采用串行总线技术可以使系统的硬件设计大大简化,系统的体积减小,可靠性提高,同时系统更容易更改和扩充常用的串行扩展总线有:I2c总线,单总线,SPI总线,以及microwire、Plus等等    I2c总线只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL&n...
📅 2023-05-13 阅读全文 →

const 指针与指向const的指针

    最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~const指针的定义:  const指针是指针变量的值一经初始化,就不可以改变指向,初始化是必要的。其定义形式如下:type *const 指针名称;  声明指针时,可以在类型前或后使用关...
📅 2023-05-13 阅读全文 →

机器学习理论决策树理论第二卷

    决策树内容来至于《统计学习与方法》李航,《机器学习》周志华,以及《机器学习实战》Peter HarringTon,相互学习,不足之处请大家多多指教!本卷的大纲为1 CART 算法1.1 CART 回归树1.2 CART 分类树2 CART 剪枝3 总结1 CART算法CART分类与回归树(classifica...
📅 2023-05-13 阅读全文 →

机器学习理论决策树算法第一卷

    决策树算法内容来至于《统计学习与方法》李航,《机器学习》周志华,以及《机器学习实战》Peter HarringTon,相互学习,不足之处请大家多多指教本卷的大纲为        1 决策树的概念        ...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动中的并发控制

并发和竞争发生在两类体系中:    对称多处理器(SMP)的多个CPU    内核可抢占的单CPU系统  访问共享资源的代码区域称为临界区(critical sections),临界区需要以某种互斥机制加以保护。在驱动程序中,当多个线程同时访问相同的资源(critical section...
📅 2023-05-13 阅读全文 →

24小时学通Linux内核之进程

    都说这个主题不错,连我自己都觉得有点过大了,不过我想我还是得坚持下去,努力在有限的时间里学习到Linux内核的奥秘,也希望大家多指点,让我更有进步。今天讲的全是进程,这点在大二的时候就困惑了我,结果那个时候我就止步不前了,这里主要讲的是为何引入进程、进程在Linux空间是如何实现的,并且描述了所有与进程执行相...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动中的阻塞和非阻塞I/O

 何谓阻塞与非阻塞I/O?简单来说就是对I/O操作的两种不同的方式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式。一、基本概念:阻塞操作  :是指在执行设备操作时,若不能获得资源,则挂起进程直到满足操作条件后再进行操作。被挂起的进程进入休眠, 被从调度器移走,直到条件满足。非阻塞操作  :在不能进行设备操作时,并不挂起,它或者放...
📅 2023-05-13 阅读全文 →

24小时学通Linux内核之内存管理方式

    Linux如何追踪和管理用户空间进程的可用内存和内核的可用内存?内核对内存分类的方式以及如何决定分配和释放内存?,内存管理是应用程序通过软硬件协助来访问内存的一种方式,这里我们主要是介绍操作系统正常运行对内存的管理    在深入了解内存管理的实现之前一些有关内存管理的高级概念我们...
📅 2023-05-13 阅读全文 →

Qt 学习笔记-Qt中添加背景图片的方法

  做一个界面,用到QFrame和QPushButton,QFrame做主面板,QPushButton为其子控件,需要在主面板上贴背景图片,还需要在QPushButton上贴上相应的图标1. QPalette的方法#include <QApplication>#include <QtGui>int main(int arg...
📅 2023-05-13 阅读全文 →

Qt 学习笔记-处理鼠标响应事件

鼠标事件void mousePressEvent(QMouseEvent *event); //单击void mouseReleaseEvent(QMouseEvent *event); //释放void mouseDoubleClickEvent(QMouseEvent *event); //双击void mouseMoveEvent(QMouseEve...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动之异步通知和异步I/O

    在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问。因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代。异步通知类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步I/O"。1、异步通知的概念和作用影响:阻塞--应用...
📅 2023-05-13 阅读全文 →

浅谈图(存储结构、遍历)

定义:  图是由顶点集合及顶点间的关系集合组成的一种数据结构。  图的存储结构:1.1 邻接矩阵    图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。    设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:  &nbs...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动之中断与定时器

    中断与定时器是我们再熟悉不过的问题了,我们在进行裸机开发学习的 时候,这几乎就是重难点,也是每个程序必要的模块信息,那么在Linux中,我们又怎么实现延时、计数,和中断呢?一、中断1.概述    所谓中断是指cpu在执行程序的过程中,出现了某些突发事件急待处理,cpu必...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动之CPU与内存和I/O

    由于Linux系统提供了复杂的内存管理功能,本节将讲解的是内存和I/O的访问编程。在X86中,I/O空间是相对于内存空间而言的,通过特定的in、out来访问,in、out指令格式如下:IN 累加器,{端口号|DX}OUT {端口号|DX},累加器 下面说说MMU(内存管理单元),操作系统借助MMU可以让用户感...
📅 2023-05-13 阅读全文 →

24小时学通Linux内核之如何处理输入输出操作

    Linux内核是如何将软硬件结合起来的呢?这里我们将一起探究内核与周围硬件主要是文件IO和硬件设备之间的关系,来解释这个问题。处理器与周围设备的通信依赖于一系列的电路电线,总线就是具有类似功能的电线,设备与处理器通信主要是通过地址总线,数据总线,控制总线来实现,这里在学习单片机原理的时候也提到过,这里对系统的基本结构就...
📅 2023-05-13 阅读全文 →

【编程之美】用C语言实现状态机(实用)

    关于状态机,基础的知识点可以自行理解,讲解的很多,这里主要是想写一个有限状态机FSM通用的写法,目的在于更好理解,移植,节省代码阅读与调试时间,体现出编程之美。传统的实现方案if...else : 搞一大堆if else, 一个函数写很长很长......swich...case : 也搞一大堆一个函数写很长很...
📅 2023-05-13 阅读全文 →

程序员视角看手机计算器上为什么10%+10% != 0.2 ?

争议话题    近日,一则热搜#手机计算器全线阵亡#的话题在网上火了起来。不少网友惊奇地发现,在自己的智能手机上打开计算器,计算10%+10%,得出的结果竟然是0.11!    网友反映,华为、苹果、OPPO、VIVO、小米、一加等多个品牌的手机计算器都出现了这样的“BUG”;...
📅 2023-05-13 阅读全文 →

Qt 纯属娱乐-绘制一个模拟时钟

    时间是伟大的导师,时间就是金钱,一寸光阴一寸金,寸金难买寸光阴,莫等闲,白了少年头,空悲切。珍惜时间啊小姐姐们,好了不扯犊子了,用qt做一个带时分秒的指针时钟,先来看看效果吧效果视频软件结构现在开始讲一下源码吧引入头文件 #include <QGuiApplication>看一下解释&n...
📅 2023-05-13 阅读全文 →

Qt 学习笔记-中秋节,QPainter画一颗小心心送给你

前言    对于程序员来说,中秋节也是一个程序,想把中秋节过好,更想把程序写好,中秋节,QPainter一颗小心心送给你。简介    QPainter类在小部件和其他绘图设备上执行低级绘制。QPainter提供高度优化的功能,以满足大多数绘图GUI程序的要求。它可以绘制从简单线条到复杂形...
📅 2023-05-13 阅读全文 →

24小时学通Linux内核之有关Linux文件系统实现的问题

    Linux的使用和用户空间程序的编程和文件系统有着密切的关系,文件系统的概念大家应该都有些熟悉,这里我不多说,因为说了也和大家以前讲解的一样,这些概念能了解就是了,大家想了解随便都能百度得到。首先我来说下Linux的虚拟文件系统。文件系统的实现因系统 的不同而不同,Linux最好的特性之一是他支持许多文件系统,文件系统...
📅 2023-05-13 阅读全文 →

蜕变成蝶~Linux设备驱动之DMA

DMA概述    DMA是一种无需CPU的参加就可以让外设与系统内存之间进行双向数据传输的硬件机制。它可以使系统CPU从实际的I/O数据传输过程中摆脱出来,大大提高系统的吞吐率,并且在传输期间,CPU还可以并发执行其他任务。DMA与cache的一致性    cache用作CPU针对内存的...
📅 2023-05-13 阅读全文 →

C/C++中条件编译#if、#elif、#ifdef等灵活秒用

前言    —般情况下,C语言源程序中的每一行代码.都要参加编译。但有时候出于对程序代码优化的考虑.希望只对其中一部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译,相关的预编译指令如下#define定义一个预处理宏#undef取消宏的定义#if编...
📅 2023-05-13 阅读全文 →