自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 不要被高对比度显示器骗了

高对比度是很多显示器喜欢炫耀的一个参数。但是如果你买到这样的显示器你会发现它的显示效果往往并不理想。尤其是暗色场景,只能看到一片黑暗。说好的“暗部细节更清晰”呢?本文将告诉你为什么现在的大多数高对比度显示器并不好。对比度=最大亮度/最小亮度,看上去它好像能反映一台显示器的最大明暗差异,但其实并不够。举个极端的例子:一个最大亮度1lm的显示器,就算能做到几百亿的对比度你也看不清它。因为它的最亮的时候也是挺暗的。真正能让你看清暗部细节的显示器,应该是一个最大亮度很大,最小亮度也可以很大的显示器。现在的

2021-11-03 18:28:43 1174

原创 如何使用systemd把一个分区mount到一个带“-”的目录上

如何使用systemd把一个分区mount到一个带“-”的目录上如何在开机阶段mount一个分区如何将分区mount到/media/my-data?为什么你不应该使用带“-”的路径?如何在开机阶段mount一个分区使用systemd在开机阶段mount一个分区是非常方便的。你只需要这样:创建一个mount服务填上设备路径填上挂载点的路径填上文件系统类型在指定target的want目录下给mount单元创建一个软链接如何将分区mount到/media/my-data?为什么你不应该使用带

2021-08-13 17:13:25 871

原创 使用qemu-kvm搭建linux内核调试环境

使用qemu搭建内核调试环境编译内核安装qemu-kvm制作根文件系统启动虚拟机编译内核安装qemu-kvm制作根文件系统启动虚拟机

2021-08-13 16:54:47 1144

原创 c语言函数声明中,static inline和extern inline的区别

c语言函数声明中,static inline和extern inline的区别“extern”关键字对于普通函数没有作用“extern”和“static”能影响编译器对内联函数的处理“extern”关键字对于普通函数没有作用extern在修饰变量和函数声明时的作用是表示:这个东西不在当前的编译单元中,只需要它的声明即可。链接时,链接器会去其它编译单元以及其它库中寻找它的定义。而函数默认就是extern的。所以当你看到像下面这样的代码时,很可能写代码的人不知道自己在干什么:// useless “ex

2021-08-11 12:14:52 3339 2

原创 2021-07-11 layer与tier的区别(英语)

layer与tier的区别(英语)都是层的意思,但是两个词不太一样。layer指的是多层相同的东西,比如天冷的时候盖两层被,用layer。tier指的是多层不同的东西,以某种目的叠加在一起,起到一定作用;比如人的消化系统有三个层次,咀嚼破碎层、胃酸分解层、肠道吸收层,用tie。three-tier dygestion system.不过这都不绝对。比如你虽然盖了两层被子,但是里层柔软保暖,外层密实防风,你想强调它们两个合作起作用时,就可以说tier。...

2021-07-11 17:26:08 2321

原创 除非必要,不要使用Linux信号

Linux 信号处理注意事项不要使用linux的信号不要处理SIGSEGV不要处理SIGCHLD不要处理SIGCONT信号处理函数中不应该有复杂的业务逻辑为什么你不应该使用信号?不要使用linux的信号除非必要,不要使用linux的信号做任何事情。因为这套工具的使用非常容易出错,对开发人员的基础知识和经验要求较高。不要处理SIGSEGV除非必要,不要处理SIGSEGV。处理错误会导致进程段错误后进入处理段错误的死循环。不要处理SIGCHLD除非必要,不要处理SIGCHLD。处理错误会产生僵尸进程

2020-09-29 10:00:39 231

翻译 SIGPIPE的设计意图

SIGPIPE的设计意图SIGPIPE 是为以下这种情况设计的:grep “pattern” < reallyhugefile | headgrep可能会输出成千上万行文本,但 head 只会读取前10行然后就退出。一旦head退出,grep就会收到SIGPIPE,然后被杀死。这样grep就不至于一直没完没了的输出没用的内容。如果你不想让你的程序因此被杀死,你可以自行处理SIGPIPE。这样的话你就会遇到write error,errno等于EPIPE。原文链接: SIGPIPE and

2020-07-31 16:14:41 181

原创 暗影精灵电脑 开机速度慢的解决方法

文章目录问题现象发生机理解决方案问题现象惠普暗影精灵3笔记本在开机前有一个特别长的黑屏有背光的时间。过了这个时间才能看到暗影精灵的logo,表示Windows开始加载。这导致暗影精灵3笔记本的开机时间接近一分钟。这在SSD大行其道的今天,是无法接受的。发生机理这个黑屏有背光的时间段实际上是BIOS程序在等待用户按F10等快捷键,进入特殊的启动模式或者进入BIOS界面。默认情况下是20s!这主要是 为了方便用户进入恢复模式或者BIOS。但是系统加载的时间一般都不超过20s,这个漫长的等待其实非常不合

2020-06-20 18:19:52 6076

原创 如何选择舒适的双肩包/电脑包

如何选择舒适的双肩包为什么需要舒适的双肩包?那么如何选择不累肩膀的双肩包呢?到底可以有多舒适?购买注意事项时尚建议为什么需要舒适的双肩包?出差和旅行都免不了要用到双肩包。但是有时背着水、食物、单反、游戏本这些重物时,时间稍长肩膀就会不舒服。那么如何选择不累肩膀的双肩包呢?双肩包使用肩膀作为负重点,东西背的多了是不可能让肩膀舒适的。这时候如果想要减轻肩膀的负荷,就需要把重量转移给其他更耐压的部位——髋部。真正舒适的双肩包上会有一根类似“腰带”的装置。把腰带系紧后,适当放松肩带,就能起到转移负荷的作

2020-05-17 01:32:14 680

原创 VS Code + Markdown Preview Enhanced 出现 mermaid预览流程图看不见线条问题的解决方案

VS Code mermaid预览流程图看不见线条问题的解决方案使用mermaid插件可以在Markdown文档中插入漂亮的流程图。但是VS code安装上Markdown Preview Enhanced插件之后,看到的却是这样的效果:我几经咨询,一位好心的大哥解答了我的疑问:按照大哥提供的方法,搜索设置项“markdown mermaid theme”,找到后将主题修改为你能看清的值...

2019-12-31 18:16:18 4019

原创 C++打印类名+函数名的方法

C++打印类名+函数名的方法打log的时候经常需要将输出log时所在的类名,函数名写清楚。 但是自己敲函数名和类名比较麻烦,复制粘贴的时候也会忘记修改而出错。 下面介绍下如何在G++/GCC编译器下获得函数名和类名:如果只想获得函数名可以用C99的特性:__func__但是在成员函数中,想打出 类名::函数名 这样的log,用上面这个宏就做不到了。 在GCC下可以利用GC...

2018-04-03 13:20:58 22588 4

原创 samba 4.6.5 从编译到配置

为了防范永恒之蓝等samba病毒的传播,需要及时更新samba服务 本文介绍了在Ubuntu16.04版本上编译、配置samba 4.6.5 的方法卸载当前系统中的samba:sudo apt-get remove samba-commonsudo apt-get remove samba获取samba4.6.5,解压到一个没有空格或者中文的路径下sudo apt-get install

2018-02-22 14:01:14 841

原创 linux下获取启动参数的方法

main函数并不总是可见。 最近的一个项目就因为要在提供给其他程序调用的库中获取启动参数困扰了几天。Windows下很简单,linux下百度是找不到方法的。我下了班就懒得连VPN去谷歌了。直接上代码。#include &lt;iostream&gt;#include &lt;string&gt;#include &lt;sstream&gt;#include &lt;unist...

2018-02-08 11:19:41 3751

原创 nfs安装配置

nfs安装配置本文介绍了如何在Ubuntu16.04版本上创建一个nfs server并配置一个nfs路径sudo apt-get install nfs-kernel-server nfs-common rpcbind vim /etc/exports 在末尾追加一行:/home/system/hs7-target/ *(rw,sync,no_root_squash) 其中,路径是

2018-02-05 17:16:57 246 2

原创 为什么Java不支持多继承,却搞了个Interface出来?

多继承的问题在于无法找到一个合理的规则去初始化基类的数据。 菱形继承中,两个子类分别调用父类构造函数进行初始化时,到底该调用谁?都调用的话,谁先谁后?

2016-10-18 09:30:36 1235

原创 std::stoi系列函数自动识别8进制、16进制数的方法

像这样写只能转为0string str = "0x12";int i = stoi(str);正确的写法应该是这样:string str = "0x12";int i = stoi(str,0,0);指定base是0,函数则自动判断。不写的话,默认值是10,当然不给力。

2016-08-22 21:00:24 4186

原创 虚拟机网卡不见了

有的时候不知道为什么虚拟机就是不能上网。 郁闷。排除了虚拟机网卡被禁用之类的原因的话,看下系统时间,如果没有跟物理机器时间一致,改成一样试试看。

2016-07-14 16:38:27 1924

原创 Ubuntu安装默认的JDK/JRE

sudo apt-get update sudo apt-get install default-jre sudo apt-get install default-jdk

2016-07-13 14:42:32 1240

原创 关于CLion有时找不到标准库的解决方案

关于CLion在某些情况下找不到标准库的符号/头文件的解决方案

2016-07-05 09:41:30 23262 2

原创 关于丢失signal的发生过程

关于条件变量的使用,有一种需要注意的情况。条件变量的原理是: wait函数将当前线程挂起,加入到等待队列中。 wake函数将某个或者所有被wait函数挂起的线程复活。所以,wake执行时一定要保证所有该wait的都已经wait了!!!!!!也就是说被挂在等待队列中了。

2016-04-28 20:28:27 775

原创 使用条件变量时为啥一定要指定一个锁?

今天看代码的时候突然发现了这个问题。 条件变量wait的时候必须指定一个已经get到了的锁。 去网上搜了一下发现至少是中文范围内,全网都不知道为什么。后来我想了一下,应该是这样的。先看使用情景。 以盖小区为例。 a负责盖房子,x负责装窗子,y负责粉刷,z负责安装电路。 所以4个人做事时,房子所在的土地就是被竞争的资源。我们来看看小区怎么个盖法。 肯定要a先工作,xyz等待a完工才能一个一

2016-04-28 01:34:25 5184 2

原创 Qt乱码处理过程

确保代码所在文本文件的编码是UTF-8(或者是跟QtCreator的文本编辑器默认编码一样的编码)确认乱码的UI是当前编辑的代码弹出的确认乱码的字符串使用了 tr() 宏确认在main()函数中添加了”QTextCodec::setCodecForLocale(QTextCodec::codecForName(QTextCodec::codecForLocale()->name()));”

2016-04-25 15:04:42 705

原创 临别感言

天下没有不散的筵席。你们的大白(●—●)要走啦! 还记得闫玉娇有天批评我,说我是暖男。我不能白受批评,我这就暖给你看:舍不得一直都没上成的3G,舍不得胸口碎大石的娇娇,舍不得加班不要命的玲神,舍不得lip,舍不得我还没教你游泳的建波妹子。想到这里我都不知道我为啥要走了——这么多妹子还需要我来温暖呢!哈哈哈,闫玉娇我让你的批评物有所值了!够不够暖! 想想3年来在CAD的日日夜

2015-03-21 01:01:08 1544 1

原创 点与有向线段的位置关系

点与有向线段的关系有5种:1.   点在有向线段左侧2.   点在有向线段右侧3.   点在有向线段正前方4.   点在有向线段正后方5.   点在有向线段上 点在有向线段左侧设点A(x,y)在有向线段 P1P2左侧,点B是通过p1且与x轴平行的直线上的一点,则必有∠BP1A-∠P2P1A>0°且即01A-∠P2P1A)设∠BP1A=α,∠P2P1A=β根据

2015-02-28 14:50:03 2925 3

原创 已知直线上两点求直线的一般式方程

一般式方程在计算机领域的重要性常用的直线方程有一般式 点斜式 截距式 斜截式 两点式等等。除了一般式方程,它们要么不能支持所有情况下的直线(比如跟坐标轴垂直或者平行),要么不能支持所有情况下的点(比如x坐标相等,或者y坐标相等)。所以一般式方程在用计算机处理二维图形数据时特别有用。已知直线上两点求直线的一般式方程已知直线上的两点P1(X1,Y1) P2(X2,Y2), P1

2015-02-26 20:15:43 58262 5

原创 设计一个编译器的基本思路

1.明确目标语言的语法2.根据语法写出相应的词法分析程序,也可以用工具 LEX 生成3.消除左递归文法,编写LL0下推自动机4.根据自动机产生的语法树生成目标代码5.目标代码优化其中:词法分析使用有状态自动机,遍历状态矩阵语法分析使用LL0下推自动机,具体我也不懂语法树完全不懂……但是貌似生成的时候要参考符号的优先级目标代码就是按

2012-03-28 14:28:52 2023

原创 2012-03-21

ipv6地址的分类(关于FE80开头的IPV6地址等的介绍)基于Linux下的IPv6网络的配置IPv6地址前缀IPv4的表示法 标准的A,B,C三类无类域间路由(CIDR):10.10.10.1/24 可自由划分一个网段IPv6采用地址前缀长度表示法 它没有子网这个概念21DA:D3:0:2F3B:: /64

2012-03-21 01:28:55 724

转载 [转载]Word中大表格正确跨页断行的设置

原文地址:Word中大表格正确跨页断行的设置作者:上山上山兔    Word在默认设置的情况下,大表格的跨页总是会让人比较郁闷一些。当表格中恰好逢到换页处的单元格只包含一两行文字的时候问题不是很突出,但当在换页处的单元格包含的文字行数较多时,问题来了。表格自动跨页不是从单元格中间跨页,而是使整个单元格全部下移实现跨页。如果选中表格属性中的跨页断行,则整个表格全部下移到下一页开始,能实现正常

2012-02-21 00:37:25 8380 1

原创 如何修改linux的MAC地址

步骤如下,但不唯一:1.临时性的修改:①依次输入以下命令:/sbin/ifconfig eth0 down/sbin/ifconfig eth0 hw ether 00:0C:29:36:97:20/sbin/ifconfig eth0 upservice network restart 2.永久性的修改:个人建议使用方法③方法①:并把类似于1中的②脚本保存

2011-12-28 13:34:59 44654 3

原创 linux下ipv6实验环境的搭建(局域网直连)

如果没有ipv6路由器,那就只能搭建局域网内部的直连环境了。(如果有ipv6路由器,哪还需要什么搭建呢……)这个工具就是radvd!具体用法可以去网上搜一搜,很多。我是照着这个链接做的:http://www.51testing.com/html/47/n-106147-3.html这个东西是RedHat和SUSElinux自带的工具。所以你在安装光盘里就能找到。如果没有虚拟光驱直接在l

2011-12-20 11:03:10 2634

原创 grep的坑爹之处

grep是非常有用的筛选工具。我们可以拿他跟cat配合当做linux下的ctrl+F使用。但是今天用到grep的时候发现它有一个坑跌的bug为了实验需要,我要在脚本中临时加入一个ipv6域名。像这样:host_name=2001:470:23:13::6echo "tmp_host6 $host_name" >> /etc/hosts# do something...

2011-12-19 10:11:32 856

原创 linux下ipv6实验环境的搭建(隧道)

ping过别人的ipv6网址之后,可以确定,局域网是不支持ipv6的。所以要使用隧道技术建立两台机器之间的ipv6连接1.发现测试用服务器上没有ipv6地址。所以测试服务器的内核应该是没有ipv6模块或者没有ipv6打开ipv6模块。2.uname -a确定内核版本为2.6.18。经网上搜索2.2以上的内核都是含有ipv6组件的,2.4以上的内核默认开启了ipv6模块。同学说rhel5.0

2011-12-19 09:03:07 4536

原创 rhel下安装gcc

第一部分http://download.csdn.net/detail/houmei015/3104089还有第二部分http://download.csdn.net/detail/houmei015/3104100经试验证实,以上链接提供的rpm包是不全的……太坑人了!但愿没人用这东西。rhel下安装GCC很简单,装系统的时候有给你选择的选项。如果你已经忘了选

2011-12-14 23:56:09 608

原创 bash中for循环的一个特别写法

#!/bin/bash# program:      lists big planetsfor planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142" "jupiter 483"do        set -- $planet        echo "$1        $2,000,000 miles from t

2011-12-14 11:51:54 832

原创 QT、boost线程的挂起

前一阵子写了一个后台不断求质数的程序。一共实现两个功能:一、运行的开始/暂停;二、重新开始计算。其中开始/暂停部分需要挂起负责查找质数的线程。但是我看了好几遍文档发现居然没有挂起线程的函数……搜索了很久发现,原来POSIX线程模型中是不包括挂起功能的。因为挂起一个现成会导致该线程占有的资源得不到释放。只要线程还在挂起,那么它占有的资源就一直处于被占用状态。所以POSIX模型把这个权利交给了操作

2011-12-12 16:49:39 4051

boost 库 中文 官方 文档

1.41.0版本。准标准库官方文档的中译版本,绝非谷歌翻译!!!

2010-05-21

Beyond the C++ Standard Library 中文版 超越c++标准库

<<Beyond the C++ Standard Library: An Introduction to Boost>> 中文高清版 PDF 格式 固实压缩 中文名 《超越c++标准库》

2010-02-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除