Tim已经推出好久了,闲来无事,把自己原先在Playonlinux下的QQ轻聊版换成了更加简洁的Tim,予以记录。 完整步骤如下: 1.安装Playonlinux以及所需环境: 方法多种多样,在此列出常用Linux分发版的简单安装方法 archlinux、manjaro:sudo pacman -S playonlinux debian、ubuntu、deepin:sudo apt install playonlinux centos、fedora:sudo dnf install playonlinux 并以同样的方法安装wine、wine-mono和wine_gecko三个软件包 PS:在这里安装的wine、wine-mono和wine_gecko三个软件包全局性质的,能被系统安装的其他所有软件调用,如果无法通过apt、dnf等命令直接安装,可跳过此步骤,后文会给出另一种方案。 2.创建虚拟盘 打开软件,如图所示 里面已经安装的两个软件请无视ㄟ( ▔, ▔ )ㄏ 点击上图 继续阅读 >>


蒙祺殷 17/05/31 10:50:20
这是数据结构与算法概述系列讲座的第二期,同样的,希望能通过总结讲座内容,将讲座的知识引入脑海,加深印象,转化为自己的知识。 这期讲座主要讲解了受限线性表中的栈与队列两种数据结构。所谓受限线性表,就是运算受限的线性表,通过限制其运算,可以得到我们想要的效果。 一、栈(stack) 首先,在学习新知识之前的两个问题: 1.什么是栈(对于数据结构而言)? 2.我们为什么要学习栈这种数据结构? 栈的概念 引用外国教材上的原文:A stack is a linear data structure that can be accessed only at one of its ends for storing and retrieving data. 翻译过来:栈是一种线性数据结构,且栈只能在其一端进行访问,既存储和检索其中的数据。(翻译得不是很好…) 相比于国内常用的说法“仅允许在表的一端进行插入和删除运算”,国外教材对栈的表述更为恰当。 同样的,引用国外教材对于栈的形象化描述 1.New 继续阅读 >>


蒙祺殷 16/08/16 10:36:36
为了让我们能对数据结构和算法有一个初步的认识,使得我们在平时的编程过程中能更有调理和效率,同时也是为了让我们在进入大二开始学习数据结构和算法之前能带我们入门了解,小组开展了为期四期的数据结构与算法专题讲座。 第一期的讲座主要介绍了数据结构和算法的基本概念,在此进行总结,希望能通过总结将讲座知识充分吸收。 对于一个新概念或者新知识,我们需要弄明白它是什么,为什么要学习它,只有弄明白这两点后,才能更好的理解它,并在今后能有目的的去学习它。 那么 什么是数据结构?为什么要学习数据结构? 什么是算法?为什么要学习算法? 数据结构和算法之间有什么关系? 根据概念: 数据结构(Data Structure):是指相互之间具有(存在)一定联系(关系)的数据元素的集合。 算法(Algorithm): 解决问题的步骤的描述,在计算机中表现为指令的有限序列 《算法与数据结构》是计算机科学中的一门综合性专业基础课。是介于数学、计算机硬件、计算机软件、三者之间的一门核心课程,不仅是一般程序设计的基础,而且是 继续阅读 >>


蒙祺殷 16/08/09 14:09:03
在对编写好的程序进行运行调试时,如程序能在运行过程中生成相应的日志文件,能让我们对程序的运行状态有一个更好的把握,同时,我们还可以在日志文件中查找程序的“运行足迹”,对自己曾经的调试做一个记录,方便日后的调查,也能在日常使用程序时作为使用记录。 那么如何建立一个属于自己的日志文件呢?我们可以采用引用系统本身日志文件的形式来简单实现自己的日志文件。 对于linux而言,系统已经建立了若干内容不同的日志文件,他们记录的绝大部分信息都已经很完备,包括了硬件系统信息、硬件信息、用户使用信息等等。而我们可以将其中的信息引用到自己的日志文件当中。 首先,对/var/log下一些日志文件的内容进行简单介绍: 1./var/log/alternatives.log 这个日志文件记录了更新替代信息 2./var/log/auth.log 这个日志文件包含了系统授权信息,如用户信息、登录信息和权限信息等 3./var/log/boot.log 这个日志文件记录了系统启动时的信息 4./var/log/btmp 继续阅读 >>


蒙祺殷 16/08/01 21:19:32
对于稍微接触过linux的人都知道在linux下“一切皆文件”,而作为一名新手,理解linux下各个目录甚至文件的含义,对于加深对linux的了解和以后对在对linux的使用中对遇到的问题能有更好的解决方式都有所帮助,因此,对近来了解到的关于linux目录的知识进行简单的总结。 1./bin bin是binary的缩写,该目录存放了很多可执行文件,linux下存放可执行文件的目录有很多,但/bin却比较特殊,因为这里存放的是在单用户维护模式下还能被操作的命令,这里的命令能被root用户和一般用户使用 2./boot 该目录存放了linux内核文件和开机所用到的配置文件 /boot/grub 如使用grub引导装载程序,则目录存放了grub启动时的配置文件,既开机设置的相关文件 3./dev 该目录存放了各种设备文件 4./etc 该目录存放了各种系统配置文件,这里的文件只有root用户有权力修改,但一般用户有权利查看 5./home 该目录为用户的主目录,在/home下,每个用户 继续阅读 >>


蒙祺殷 16/07/30 14:30:59
最近在学习linux系统编程,在编写自己的ls命令,实现对得到文件信息进行对齐时,发现不同分辨率的屏幕和不同窗口大小的终端对信息的对齐需求不同,如能获取屏幕分辨率和终端行列数,经过算法能对获得文件的信息进行很好的对齐,于是学习了获取屏幕分辨率和终端行列数的方式。 1.获取屏幕分辨率 #include<stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<sys/mman.h> #include<sys/ioctl.h> #include<unistd.h> #include<fcntl.h> #include<linux/fb.h> int main(int argc,char *argv[]){ int fd; struct fb_var_screeninfo screen_info; fd = open( 继续阅读 >>


蒙祺殷 16/07/25 11:47:24
最近在学习linux系统编程,经过一段时间,对linux下系统调用有了一定的认识。希望继续通过编写linux下命令的基本功能,加强自己对系统调用函数的认识,同时提高自己的编程能力。 自己实现的chmod命令: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<unistd.h> int main(int argc,char *argv[]){ int i,uid,gid; char *filename; if(argc == 4){ int n; filename = argv[1]; n = strlen(argv[2]); for(i = 0;i < n;i++){ if(argv[2][i] & 继续阅读 >>


蒙祺殷 16/07/24 18:23:37
作为一名新手,最近在学习linux的系统编程,对linux的系统调用有了一定的理解,并且利用系统调用实现了linux下一些命令的的基本功能 1.mv命令 用到的知识点:rename系统调用 #include<stdio.h> int main(int argc,char *argv[]){ if(argc! = 3){ printf("输入参数个数错误\n"); return -1; } if(rename(argv[1],argv[2] == -1){ printf("修改文件名失败\n"); return -1; } return 0; } 这段代码,先是对输入的参数个数进行了检查,在参数个数正确的情况下,将参数传入rename系统调用,实现了更改文件名的功能 2.chmod命令 用到的知识点:chmod系统调用 #include<stdio.h> #inc 继续阅读 >>


蒙祺殷 16/07/24 16:57:42
1