• avatar 唐不捐 2020-03-10 18:27:45

    Scanner

    import java.util.Scanner; public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println("

    来自 唐不捐
    00
  • avatar K博德曼 2020-03-10 18:28:30

    数位五五

    题目描述 求出a到b之间有多少个数数位之和为5的倍数 输入描述 输入一行包含两个整数x,y (0≤x,y≤1000000) 输出描述 输出一个整数 #include<iostream> using namespace std; int main() { int x,y,count

    来自 K博德曼
    00
  • avatar wentian3007 2020-03-10 18:34:20

    取近似值c++

    #include<iostream> using namespace std; int main() { double num; cin>>num; if(num-(int)num>=0.5) cout<<int(n

    来自 wentian3007
    52
  • avatar LLLayer 2020-03-10 18:46:31

    阿里巴巴钉钉iOS研发实习生一二三面面经

    第一次投递简历尝试面试😀投递了阿里钉钉的iOS研发。 原本是想体验下提前批的“复活甲”,结果效果还好,拿到了口头offer,等到3月16日正式校招开启完成后面简单流程就好了。 钉钉到面试官都很棒,不论面试中还是私下去交流,都细心指导和帮助。 简单记录了一些面试问题,部分题目

    来自 LLLayer
    04
  • avatar wnxy 2020-02-19 22:58:00

    Linux常用命令

    4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d [Tab]按键---具有『命令补全』不『档案补齐』的功能 [Ctrl]-c按键---让当前的程序『停掉』 [Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfIn

    来自 wnxy
    00
  • avatar wnxy 2019-07-03 13:35:17

    Windows10 系统下VMware Ubuntu的安装

    1、网络搜索下载安装虚拟机VMware。 2、访问Ubuntn官网http://www.ubuntu.com,下载Ubuntu系统镜像。 3、打开VMware,开始安装Ubuntn,点击创建新的虚拟机。 4、使用默认设置,点击下一步。 5、选择

    来自 wnxy
    00
  • avatar wnxy 2019-05-21 21:46:17

    VS项目错误28 error D8021:无效的数值参数“/wd4267,4819”解决方案

    最近在写一个车牌识别的项目,在github上获取了开源项目EasyPR的源码进行调试,老是编译出错。 环境是WIN10 + VS2013 + opencv310 编译时候出现报错:"错误 28 error D8021: 无效的数值参数“/wd4267,4819” D:\EasyPR-D

    来自 wnxy
    00
  • avatar wnxy 2019-05-19 22:46:11

    解决电脑系统重装后出现多引导项的问题

    近日由于电脑加装固态,系统重装之后,开机时出现多个引导项,虽不影响正常开机,到看着怪不舒服,所以上网查找解决方法,记录下来。 1、win+R组合键调出运行窗口,输入"msconfig"按回车或确定 2、在弹出的窗口选择“引导”,可以看到下图红色大框中会有多个引导条目,把多

    来自 wnxy
    00
  • avatar wnxy 2019-04-05 15:49:38

    linux常用命令大全

    目录操作命令 ls 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 ls (显示当前目录下文件) ls 目录名 (显示指定目录下文件) ls -l (长格式显示目录文件) ls -l 文件名 (长格式显示指定文件)

    来自 wnxy
    01
  • avatar wnxy 2019-03-30 12:03:58

    linux常用命令

    基本命令 您可以通过以下命令来查看系统的信息,其他系统相关命令操作可自行搜索查询。 查看系统版本 cat /etc/deepin-version 查看内核版本 uname -a 查看软件源信息 cat /etc/apt/sources.list 查看命令帮助 man chmod 或 chmod

    来自 wnxy
    00
  • avatar wnxy 2019-03-20 09:59:53

    Linux命令行下如何终止当前程序

    Linux命令行下如何终止当前程序 快捷键: Ctrl+c 在命令行下起着终止当前执行程序的作用(强制中断程序的执行,进程已终止) Ctrl+z 中断命令,将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,f

    来自 wnxy
    00
  • avatar wnxy 2019-03-20 09:49:03

    Linux系统下gcc编译对“sqrt"未定义的引用、“exp”未定义的引用、“log”未定义的引用

    在Linux系统下进行Flex/Bison试验中,需要调用数学库函数时报错: cc编译的时候也要在指令后面加 -lm: rookie@rookie-PC:~/Desktop$ cc fb3-2.tab.c fb3-2.lex.c fb3-2funcs.c -lm 即可编译

    来自 wnxy
    00
  • avatar wnxy 2020-02-14 21:11:11

    前端进阶——表单标签

    input控件——常用属性 语法: <input  type="属性值"  value="你好"  /> 常用属性: <caption>   <

    来自 wnxy
    00
  • avatar wnxy 2019-03-23 10:37:46

    Linux下vi命令修改文件及保存的使用方法

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi filename :打开文件,并将光标置于一行首 vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 v

    来自 wnxy
    00
  • avatar wnxy 2019-02-14 19:58:27

    Chrome插件——油猴脚本的安装与使用

    前言 相信很多人都在使用Chrome,也喜欢使用Chrome,Chrome之所以能成为最受欢迎的浏览器和各类实用的拓展是分不开的,在众多Chrome拓展当中最好用的插件油猴当之无愧。 油猴脚本,官称Tampermonkey,是一款免费的浏览器扩展和最为流行的用户脚本管理器,除了 Chro

    来自 wnxy
    00
  • avatar 年少挽剑世无双· 2020-03-10 19:09:34

    剑指Offer第二十三题:二叉搜索树的后序遍历序列

    题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解答:思路:递归方法:一个n个数的数组,最后一位必定是根节点,前面n-1个数的前一半在左子树,后一半在右子树,那么就符合条件。对前后数据再做同样的判断。p

  • avatar bloodfire 2020-03-10 19:15:05

    3/10 题解

    1.问题:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/diameter-of-binary-tree示例 :给定二叉树

    来自 bloodfire
    00
  • avatar 牛客791533084号 2020-03-10 19:36:30

    求小球落地5次后所经历的路程和第5次反弹的高度

    链接:https://www.nowcoder.com/questionTerminal/2f6f9339d151410583459847ecc98446?answerType=1&f=discussion来源:牛客网 假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下,

  • avatar 喝牛奶的牛 2020-03-10 19:39:14

    two sum

    题目描述: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would h

    来自 喝牛奶的牛
    190
  • avatar 忽安 2020-03-10 19:57:42

    这个我这样写的

    include <stdio.h> int main(){ char a; scanf("%c",&a); for(int i=1;i<=5;i++) { for(int j=5-i;j>0;j--) pr

    来自 忽安
    110
  • avatar 牛客791533084号 2020-03-10 20:14:07

    统计每个月兔子的总数

    思路推导:时间轴(月):1 2 3 4 5 6 7兔子数量: 1 1 2 3 5 8 13发现是一个斐波那契数列,所以公式为f(n)=f(n-1)+f(n-2);n<=2 时为1,大于2时,递归回调公式就好 import java.util.Scanner; pub

  • avatar 洋芋同学 2020-03-10 20:17:25

    关于华为2016校招笔试题(三道)

    这周三就要去机试,我赶紧做了一下往年的题目,牛客上只找到一篇,所以赶紧写了一下,一看,看来明天是凉凉了,下面开始三题的注解,主要的思路见注释。(在看到精炼完美的代码时,发现他们经常会用到vector,string,algorithm库,所以想在题解完毕之后对那些经常用到的简单地总结一下) 第一题 #

    来自 洋芋同学
    22
  • avatar 19-大数据一班-杨文冠 2020-03-10 20:35:12

    AC自动机+dp状态压缩

    1.poj 2778题解加代码注释 转载处:https://blog.csdn.net/morgan_xww/article/details/7834801?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=d

  • avatar 201903101715417 2020-03-10 20:41:37

    二叉树的四种遍历

    二叉树三种遍历的非递归实现 利用栈来实现存储树的结构方式。 先序遍历实现步骤: 1.初始化一个栈,将头节点压入栈中。2.弹出栈顶元素并将该点记为cur,打印该点,判断该点的右节点是否为空,不为空则入栈,判断该节点的左节点是否为空,不为空则入栈。3.重复二步骤,直到栈中为空,遍历结束。 d

    来自 201903101715417
    00
  • avatar 201903101715417 2020-03-10 20:46:47

    平衡二叉树判断

    平衡二叉树(AVL树) 1.空树是平衡二叉树。2.如果一棵树不为空,并且其中所有的字数都满足各自的左子树和右子树高度差不超过1. 判断是否为平衡二叉树 思路:需要辅助函数来求出树的深度。遍历每一个节点,同时判断每一个节点的左右子树的深度差即可完成平衡二叉树的判别。(考点:树的遍历,树的深度) #求树

    来自 201903101715417
    00
  • avatar 牛客483402811号 2020-03-10 20:50:31

    【吊打面试官】linux高频面试知识点

    linux高频面试题,答案如下: Linux 概述1、什么是Linux2、Unix和Linux有什么区别?3、什么是 Linux 内核?4、Linux的基本组件是什么?5、Linux 的体系结构6、BASH和DOS之间的基本区别是什么?7、Linux 开机启动过程?8、Linux系统缺省的运行级别?

  • avatar zBlue 2020-03-10 21:24:27

    提高办公效率(转载)

    转载自苏杰的博客,侵删 https://mp.weixin.qq.com/s?__biz=MjM5MzE3MDQ3Mw==&mid=2650406179&idx=1&sn=7a2621b05ebaff7910e95b14a827b15b&chksm=be964865

    来自 zBlue
    20
  • avatar KangWang 2020-03-10 21:28:01

    C语言数组初始化的三种方式

    C语言中的数组初始化是有三种形式的,分别是:1、数据类型 数组名称[长度n] = {元素1,元素2…元素n};2、数据类型 数组名称[] = {元素1,元素2…元素n};3、数据类型 数组名称[长度n];数组名称[0] = 元素1;数组名称[1] = 元素2;数组名称[n-1] = 元素n;和Jav

    来自 KangWang
    00
  • avatar Iron欣 2020-03-10 21:29:22

    MySQL必知必会笔记 Day1

    数据库笔记(MySQL必知必会读书笔记) 第一章 了解数据库 表(table) 模式(schema)列(column)行(row)主键(primary key) 第二章 什么是MySQL 第三章 使用MySQL 第四章 检索数据 1.select语句 1.查列 -从表中检索一个名为pro_name

    来自 Iron欣
    00
  • avatar 牛客759748534号 2020-03-10 21:34:46

    牛牛学数列

    这个代码能适用于n在long long范围的。提供代码短且时间复杂度为O(1) 的代码。#include<bits/stdc++.h>using namespace std;int n;int main(){ cin >> n; if(n % 2 == 0) co

  • avatar Free-Fly 2020-03-10 21:38:05

    proteus pro 8.9 安装及汉化教程

    最近由于网上上课老师要求我们自己安装proteus这款仿真软件,所以笔者也安装了最新款版的proteus pro 8.9,分享给大家安装心得,也包含汉化过程,希望大家能用软件好好学习。 备注:感谢博主和下载此软件的地址: http://www.ddooo.com/softdown/152

    来自 Free-Fly
    00
  • avatar 水木清华_AI 2020-03-10 21:43:05

    华为机试在线训练_自守数(查找)

    /* 本文系「人工智能安全」(微信公众号)原创,转载请联系本文作者(同博客作者)。 欢迎你转发分享至朋友圈,并给予「关注、星标、点赞」三连支持。互相欣赏,互相批判。 我是一名有诗人气质的网络安全工程师 期待与你的思想交流碰撞出智慧的花火 水木清华 2020-03-10 求自守数的解题思路 规律:个位

    来自 水木清华_AI
    100
  • avatar 小林coding 2020-03-10 21:49:15

    硬核!30 张图解 HTTP 常问的面试题

    每日一句英语学习,每天进步一点点: 前言 在面试过程中,HTTP 被提问的概率还是比较高的。 小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 + 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 。 HTTP

    来自 小林coding
    618
  • avatar 小林coding 2020-03-10 21:50:52

    「C++ 」借来的资源,如何还的潇洒?

    前言 本文的内容将专门对付内存管理,培养起有借有还的好习惯,方可消除资源管理的问题。 正文 所谓的资源就是,一旦用了它,将来必须还给系统。如果不是这样,糟糕的事情就会发生。 C++ 程序内常见的资源: 动态分配内存 文件描述符 互斥锁 图形页面中的字型和笔刷 数据库连接 网络 sockets

    来自 小林coding
    00
  • avatar KangWang 2020-03-10 21:51:07

    Java语言的发展历程

    目前常用的版本是Java8尽量选择JDK8和JDK11

    来自 KangWang
    00
  • avatar 小林coding 2020-03-10 21:53:25

    学过 C++ 的你,不得不知的这 10 条细节!(附思维导图)

    前言 我在阅读 《Effective C++ (第三版本)》 书时做了不少笔记,从中收获了非常多,也明白为什么会书中前言的第一句话会说: 对于书中的「条款」这一词,我更喜欢以「细节」替换,毕竟年轻的我们在打 LOL 或 王者的时,总会说注意细节!细节!细节~ —— 细节也算伴随我们的青春的字眼 针

    来自 小林coding
    00
  • avatar 小林coding 2020-03-10 21:56:07

    「C++ 篇」答应我,别再if/else走天下了可以吗

    每日一句英语学习,每天进步一点点: "Without purpose, the days would have ended, as such days always end, in disintegration." 「少了目标,一天还是会结束,它总是以支离破碎的形式结束。」

    来自 小林coding
    00
  • avatar 巧遇人生 2020-03-10 22:37:13

    学习vuecli中的一个小坑

    写vue代码运行时,报以下错误: ../../vue-temp/vue-editor-bridge in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?tt&index=0!./src/c

    来自 巧遇人生
    00
  • avatar 兮戏 2020-03-10 22:52:31

    产品测试中的一些方法

    测试定义:使用人工或自动的手段来运行或测定某个软件系统的过程 测试目的:检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 常见测试方法: 1.     A/B测试 &

    来自 兮戏
    15
  • avatar Rickduck 2020-03-10 23:08:47

    Linux学习

    Linux命令行操作 快捷键 Tab :代码补全 Ctrl+c : 中断回复 ↑ : 历史输入 man : 获取命令帮助 $ man 8大分区 : 通配符 一次性创建多个文件 $ touch PreName_{1..n}_AftName 输出图形字符命令 banner 安

    来自 Rickduck
    00
  • avatar 冬萝 2020-03-10 23:10:35

    输入输出练习

    网址 https://ac.nowcoder.com/acm/contest/320#submit/%22languageCategoryFilter%22%3A%22107%22 练习 1、计算a+b。输入:输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多

    来自 冬萝
    00
  • avatar ccจุ๊บ 2020-03-10 23:20:29

    两个递归+深度优先遍历 python3

    # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None cl

    来自 ccจุ๊บ
    100
  • avatar 年少挽剑世无双· 2020-03-10 23:24:39

    剑指Offer第二十四题:二叉树中和为某一值的路径

    题目描述输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 解答:数组长度大的数组靠前 ???这个问题让我想了很久,一开始想到把左右子节点中小的节

  • avatar wentian3007 2020-03-10 23:35:27

    合并表记录C++

    用map秒杀 #include<iostream> #include<map> using namespace std; int main() { int n; map<int,int> m; cin>>n; for(i

    来自 wentian3007
    321
  • avatar Peterliang 2020-03-10 23:35:54

    PAT挑战第10天

    今天,看了一下广东工业大学的传奇人物戴维(英文名)写的一篇博客,感触良多。首先,我要承认一下错误,我之前之所以做得比较快确实是有去搜题解的恶习。之前一直以为只要是搞懂了就行,至于用什么方法不重要,今天终于明白了,原来补题不是去看别人写的题解,这样,是很难有大的进步的。感觉自己正在慢慢背离自己之前学习

    来自 Peterliang
    00
  • avatar 高博cool 2020-03-10 23:39:05

    Educational Codeforces Round 83 (Rated for Div. 2)

    A. Two Regular Polygons https://codeforces.com/contest/1312/problem/A 解题思路:这一题是一个几何题,但不要被这个吓到,其实很简单的,它说要求在原有得基础上构造一个正多边形,其实只要两个数能够整除就行,不要想太

    来自 高博cool
    00
  • avatar 秋招早日上岸顺顺顺 2020-03-10 23:51:39

    个人简历梳理

    面前材料是所有环节里面最重要的。大致可以从三个方面去准备:个人经历(简历)的梳理、产品面试中常见问题答案梳理、竞品分析思维(各大厂主流产品的优劣势&个人思考)个人简历梳理主要以实习内容为主,要做到可以完整描述实习或项目中自己的工作以及收获的成果,这是面试必问环节(一定要说自己做过的事)产品面

  • avatar wentian3007 2020-03-10 23:56:40

    提取不重复的整数C++

    用哈希表,秒杀 #include<iostream> #include<vector> using namespace std; int main() { int num,n; vector<int> hash(10,0); cin>

    来自 wentian3007
    190
  • avatar 绝世博雅゜「Kosameو」 2020-03-10 23:58:12

    2020美赛的反思与总结

                总结一下今天早上九点结束的美赛吧,毕竟还热乎,记忆应该不会有什么大的偏差。 本应该刚结束就写的,但是因为熬夜写论文,白天在昏昏沉沉中度过了,此刻脑子清醒了索性记录一下。 1.赛前准备

  • avatar 我一菜鸡 2020-03-11 00:17:09

    2. 两数相加

    class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode ln = head;

    来自 我一菜鸡
    00
  • avatar 0x18 2020-02-05 12:20:00

    SFINAE 与 type_traits

    SFINAE 与 type_traits SFINAE 替换失败不是错误 (Substitution Failure Is Not An Error),此特性被用于模板元编程。 在函数模板的重载决议中应用此规则,当将模板形参替换为显式指定的类型或推导的类型失败时,从重载集中丢弃这个特化,而非导

    来自 0x18
    00
  • avatar 0x18 2020-02-02 17:27:00

    C++ 虚函数分析

    C++ 虚函数分析 虚函数调用属于运行时多态,在类的继承关系中,通过父类指针来调用不同子类对象的同名方法,而产生不同的效果。 C++ 中的多态是通过晚绑定(对象构造时)来实现的。 用法 在函数之前声明关键字virtual表示这是一个虚函数,在函数后增加一个 = 0 表示这是一个纯虚函数,纯虚函

    来自 0x18
    00
  • avatar 0x18 2020-01-30 01:01:00

    C++ lambda 分析

    lambda 表达式分析 构造闭包:能够捕获作用域中变量的匿名函数的对象,Lambda 表达式是纯右值表达式,其类型是独有的无名非联合非聚合类类型,被称为闭包类型(closure type),所以在声明的时候必须使用 auto 来声明。 在其它语言如lua中,闭包的格式相对更为简单,可以使用 l

    来自 0x18
    00
  • avatar 0x18 2020-01-27 21:57:00

    C++ 引用分析

    引用 左值引用,建立既存对象的别名 右值引用,可用于为临时对象延长生命周期 转发引用,保持函数实参的类别 悬置引用,对象生命周期已经结束的引用,访问改引用为未定义行为 值类别,左值,纯右值,亡值 std::move, std::forward 类型推导 引用塌缩(

    来自 0x18
    00
  • avatar 0x18 2020-01-26 20:20:00

    C++ 关键字 new

    new new 是C++ 中的关键字,有两个含义 new 表达式 作为运算符的函数名,也就是 operator new new 表达式 提供一个特定的内存分配格式,返回在存储空间上构造的对象或对象数组的一个 纯右值 指针。 语法 :: (可选) new (布置参数)(

    来自 0x18
    00
  • avatar 0x18 2020-01-19 16:25:00

    spdlog 基本结构分析

    spdlog 基本结构分析 代码取自 V1.5.0, 代码堪称美学。 spdlog 是一个只有头文件的C++日志库,速度非常快,扩展性很强,更重要的是 社区活跃,文档齐全。 使用 参考官方的 example. {fmt} 的格式使用也需要熟悉一下,毕竟也进 C++20 了,什么垃圾

    来自 0x18
    00
  • avatar 0x18 2019-12-26 19:22:00

    一个轻量快速的C++日志库

    limlog 作一篇文章记录实现,驱动优化迭代。 代码仓库 用法 实现 后端实现 前端实现 日期时间的处理 线程id的获取 日志行的其他项处理 优化 整形字符串格式化优

    来自 0x18
    01
  • avatar 0x18 2019-12-09 19:12:00

    程序的链接

    链接 在实际操作的过程中,测试的数据和 CS:APP 里面的内容有一些出入了,如重定位的方式,现在默认都使用 GOT+PLT 的方式进行重定位,与此带来的是 .rel.data ***掉,使用 GOT 的方式访问。 编译过程 静态链接 目标文件 可重定位目标文件 符号解析

    来自 0x18
    00
  • avatar 0x18 2019-11-20 13:52:00

    Graphviz 画图的一些总结

    Graphviz Graphviz 是一个自动排版的作图软件,可以生成 png pdf 等格式。 dot 语法介绍 部分图形属性介绍 示例 使用VSCode进行预览生成 参考 dot 语言 Graphviz 构建组件为 图,节点,边,用属性对其进行描述。 以下是定

    来自 0x18
    00
  • avatar 0x18 2019-11-13 17:25:00

    C表达式中的汇编指令

    C 表达式中的汇编指令 asm 为 gcc 中的关键字,asm 表达式为在 C代码中嵌套汇编指令,该表达式只是单纯的替换出汇编代码,并不对汇编代码的含义进行解析。 asm 表达式有两种形式,第二种 asm-qualifiers 包含了 goto 语句。 第一种形式为常见的用法,Assembler

    来自 0x18
    00
  • avatar 0x18 2019-10-31 17:36:00

    epoll(2) 源码分析

    epoll(2) 源码分析 文本内核代码取自 5.0.18 版本,和上一篇文章中的版本不同是因为另一个电脑出了问题,但是总体差异不大。 引子留下的问题 关键数据结构 提供的系统调用 就绪事件相关逻辑 epoll 间的相互影响及处理 问题的解答 引子留下的问题 在

    来自 0x18
    00
  • avatar 0x18 2019-10-26 16:18:00

    epoll(2) 使用及源码分析的引子

    epoll(2) 使用及源码分析的引子 本文代码取自内核版本 4.17 epoll(2) - I/O 事件通知设施。 epoll 是内核在2.6版本后实现的,是对 select(2)/poll(2) 更高效的改进,同时它自身也是一种文件,不恰当的比方可以看作 eventfd + poll。

    来自 0x18
    00
  • avatar 0x18 2019-10-18 20:44:00

    eventfd(2) 结合 select(2) 源码分析

    eventfd(2) 结合 select(2) 源码分析 本文代码选自内核 4.17 eventfd(2) - 创建一个文件描述符用于事件通知。 使用 源码分析 参考 #include <sys/eventfd.h> int eventfd(unsigned

    来自 0x18
    00
  • avatar 0x18 2019-10-12 17:01:00

    poll(2) 源码分析

    poll(2) poll(2) 系统调用的功能和 select(2) 类似:等待一个文件集合中的文件描述符就绪进行I/O操作。 使用 实现 select(2) 的局限性: 关注的文件描述符集合大小最大只有 1024 文件描述符集合为顺序的,不能任意指定 fd,浪费占用

    来自 0x18
    00
  • avatar 0x18 2019-09-25 20:22:00

    select 源码分析

    select(2),同步的 I/O 复用 直接看 epoll 的源码把自己绕晕了,先整个简单点的下手。 使用 源码分析 select(2) 提供的用户接口 #include <sys/select.h> int select(int nfds, fd_set

    来自 0x18
    00
  • avatar 0x18 2019-08-21 22:05:00

    kfifo

    kfifo 的一些伪代码 1 kfifo_len() 2 out = LOAD fifo->out 3 smp_rmb() 4 len = LOAD fifo->in - out 5 6 7 kfifo_in()

    来自 0x18
    00
  • avatar 0x18 2019-06-10 21:22:00

    程序的机器级表示:寻址方式、指令及栈的运行机制

    程序的机器级表示 时隔一年把 CS:APP 再看一遍,尤其针对栈的运行机制加深理解。 访问信息 16个通用寄存器 一个 x86-64 CPU 包含一组16个存储64位值的通用目的寄存器。虽然是通用寄存器,但也有一些约定成俗的用法。r8 r9 ... 为80386之后扩展的8个寄存器 \

    来自 0x18
    00
  • avatar 0x18 2019-06-04 19:48:00

    信息的表示和处理 及 CS:APP 15213 datalab

    信息的表示和处理 在通用计算机中中,字节作为最为最小 的可寻址的内存单元,而不是访问内存中单独的位。 寻址和字节顺序 big endian (大端法),数据最高字节部分地址在地址处,和人的感觉逻辑相似 little endian (小端法),低字节部分在低地址处 布尔代数

    来自 0x18
    00
  • avatar 0x18 2019-01-05 12:37:00

    Effective C++ 一些记录和思考

    Effective C++ Iter 3 - 尽可能使用 const 一个反逻辑的 bitwise const class Text { ... char& operator[](std::size_t pos) const { return text

    来自 0x18
    00
  • avatar 皮蛋秀柚秋 2020-03-11 00:49:37

    最短路径算法

    单源最短路径 Dijkstra算法 Dijkstra算法的策略是:假设顶点集为V,设置集合S存放已被访问的顶点,然后执行下面两个步骤n次:(n为顶点数目) 每次从集合V-S中选择与起点s的最短距离最小的一个顶点(记为u),访问并加入集合S。 之后,令顶点u作为中介点,优化起点s与所有从u能到达且

    来自 皮蛋秀柚秋
    00
  • avatar 0x18 2018-11-10 14:59:00

    APUE 文件和目录

    文件和目录 Unix 所有的文件都对应一个 struct stat,包含了一个文件所有的信息。 #include <sys/stat.h> struct stat { mode_t st_mode; // 文件类型和用户访问权限 ino_t

    来自 0x18
    00
  • avatar 0x18 2018-10-31 16:29:00

    APUE 文件IO

    文件 IO 记录书中的重要知识和思考实践部分 Unix 每个文件都对应一个文件描述符(file descriptor),为一个非负整数,一个文件可以有多个fd, 后面所有与文件(设备,套接字等)有关操作都是围绕这个fd来的。 在shell中 < > 都为重定向符号,前者为重定向输入,

    来自 0x18
    00
  • avatar 0x18 2018-09-17 00:09:00

    链接

    链接 可执行文件的生成 编译系统提供编译器驱动程序,包括了 预处理器,编译器,汇编器和链接器。 预处理器(cpp)将C的源程序 foo.c 翻译成一个ASCII码的中间文件 foo.i shell> cpp [-args] foo.c /tmp/foo.i

    来自 0x18
    00
  • avatar 0x18 2018-09-10 16:56:00

    linux core dump 生成和调试

    core dump 某些信号的产生会导致产生core dump,包含了进程终止时的内存镜像。在某些时候这个core文件就非常的有用处,配合gdb或者lldb调试起来非常方便。 更详细的文档参考 Linux Manual Page http://man7.org/linux/man-pages/m

    来自 0x18
    00
  • avatar 0x18 2018-09-10 11:27:00

    man中文手册安装

    转载自 https://www.cnblogs.com/fyc119/p/7116295.html man中文手册安装 下载源码 wget https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh

    来自 0x18
    00
  • avatar 0x18 2018-09-01 20:14:00

    最大子数组问题

    最大子数组问题 本文只是做一个记录,更细致的思路请查看算法导论 最大子数组结构体 typedef struct { int low, high, sum; } SubArray; 暴力求解 计算所有的数组区间的和进而得到最大的子数组,算法复杂度为θ(n²)。这种方法在小规模的数据表现

    来自 0x18
    00
  • avatar 0x18 2018-08-09 18:08:00

    fork 系统调用

    对自己知识储备的感觉就是过于肤浅,很多东西知其名后就不了了之 此系列博客将记录进程分析的学习过程,希望能够多些深度 提到进程,最容易的想到就是fork系统调用,比较好和快速的找到的fork的相关信息就是 linux manual 了 fork(2) fork - 创建一个新的进程 #incl

    来自 0x18
    00
  • avatar 0x18 2018-05-14 17:12:00

    升级 Linux 内核版本(编译源代码)

    升级内核版本(自己编译源码) 从 linux 官网 https://www.kernel.org/ 下载内核源码 解压 tar -xvf linux-4.16.8.tar.xz cd linux-4.16.8/ 编译(出现问题) make

    来自 0x18
    01
  • avatar 0x18 2018-04-15 19:40:00

    TCP/IP UDP 协议首部及数据进入协议栈封装的过程

    数据的封装 UDP 封装 TCP 封装 IP 封装 检验和算法 当应用程序用TCP传送数据时,数据被传送入协议栈中,然后逐一通过每一层直到被当作一串比特流送入网络 注: UDP数据TCP数据基本一致. 唯一不同的是UDP传给IP的信息单元称作UD

    来自 0x18
    00
  • avatar 0x18 2018-04-15 18:19:00

    OSI 7层模型和 TCP/IP 5层模型

    网络协议通常分不同层次进行开发,每一层分别负责不同的通行功能。 两种参考模型 OSI 和 TCP/IP, OSI 先有模型后有协议,TCP/IP 则相反。 OSI 7层模型 - 应用层 - 表示层 - 会话层 - 传输层 - 网络层 - 数据链路层 - 物

    来自 0x18
    02
  • avatar 0x18 2018-03-24 14:15:00

    Vim 写 C/C++ 的配置

    .vimrc 2018/08/08 更新 基本的配置,缩进显示行号等 给每个 C/C++ 文件添加头部,显示作者,文件创建时间 F5 编译执行 C/C++源代码 Ctrl + F 利用用 astyle 格式化代码 使用 clang_complete 对代码进行补全

    来自 0x18
    00
  • avatar 0x18 2018-03-09 14:58:00

    C C++ POSIX 的一些 IO 操作

    一些 C C++ POSIX 的 IO 操作总结 文件-内存之间 内存-内存之间 POSIX 有无缓冲的 IO 操作 对文件的操作,读文件至内存,从内存写至文件 // 读文件至内存buf中 void Fread() { char buf[BUFSIZ

    来自 0x18
    00
  • avatar 0x18 2017-03-10 11:34:00

    左式堆的合并

    二叉堆对于合并操作是困难的,因为需要把一个数组拷贝到另一个数组。 左式堆可以高效的地支持合并操作, 左式堆与二叉树之间唯一区别是,左式堆不是平衡的,可能非常趋向不平衡。 // 左式堆的结构 typedef struct TreeNode { element_t element;

    来自 0x18
    00
  • avatar 真香 2020-03-11 01:54:21

    牛牛与糖题解

    本题乍一看像完全背包问题,但是仔细分析可以看出其实是一道bfs。bfs的状态即为当前买的糖数,从0搜索到m。要注意的是超过m的状态需要剪枝,否则容易越界。时间复杂度为空间复杂度为以下是AC代码: #define maxm 10005 class Solution { public: /**

    来自 真香
    00