- 博客(12)
- 资源 (5)
- 收藏
- 关注
原创 CMake——进阶编写
假定有vegagis工程,工程的目录结构如下:#--vegagis# |--src 源文件目录# |--gui 界面工程,输出类型:dll,依赖于QT的QtCore、QtGui、QtXml# |--pending 工程中的源文件,不希望加入到工程中# ## 为了实现跨平台运行,win32和linux目录下实现的是同一套接口,win32不编译linu...
2019-01-25 17:05:49 731
原创 Top命令实现代码解析(CPU、进程CPU使用率)
1、获取总的cpu信息# cat /proc/statcpu 161911 2406 35826 1860803 14982 685 3810 0cpu0 161911 2406 35826 1860803 14982 685 381 0 0intr 3304665 0 0 0 0 0 0 0 0 0 0 0 1102551 181196 0 0 0 0 0 0 0 0 14306...
2019-01-25 15:13:07 2629
原创 linux添加自定义命令
首先使用命令 type 自定义命令 ,查看自定义的命令是否被系统占用其中ML命令是使用 命令 alias自定义的命令 一次性 直接在命令行中输入 例如:输入 alias d=’cd ~/Desktop’ 此时该命令别可以使用,不过仅在当前的命令行界面下,一旦退出之后将无法使用 写入bashrc中 在 computer/etc 的文件夹下可...
2019-01-23 10:25:27 2494
原创 statfs结构体和函数详解——例程
因为要读取SD卡的大小和使用情况,所以用到statfs这个函数,功能类似于df命令。需要的头文件:#include <sys/vfs.h> int statfs(const char *path, struct statfs *buf);功能:获取当前文件系统下磁盘空间使用情况。struct statfs {long f_type; /* 文件系统类型 */lon...
2019-01-22 17:51:50 6887
原创 参考df源码写的一个简单的df命令的源代码
df命令可以列出加载的磁盘或各种文件的信息: 下面给出一个简单的df的命令的源码,这个源码根据df的源码进行改写,很简单,就一个主文件 :)#include <stdio.h>#include <mntent.h>#include <string.h>#include <sys/vfs.h>static const unsigne...
2019-01-22 14:18:12 2233 2
原创 ubuntu下top命令源码实现分析
在分析top命令代码实现前,先啰嗦几句。最近的一个linux项目要获取cpu和内存使用率。由于linux并未提供相关的api,因此,只能通过其他手段来获取;最开始使用的方式可简单描述如下:1.构造一个命令字符串,该字符串的功能是通过top命令获取cpu的空闲率;2.使用popen执行该命令;3.使用getline等io函数从管道中读取cpu的空闲率;4.将字符串的空闲率转换...
2019-01-22 13:41:09 2300
原创 Linux下C语言实现线程池例程
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。 p...
2019-01-22 13:00:21 479
原创 ubuntu下top命令源码位置及分析
示例:查找top命令的源代码第一步:使用 which命令查找 top所在的目录$ which top/bin/ps/top第二步:使用 sudo dpkg -S /bin/ps/top 查找该命令包含在哪个源文件中$ sudo dpkg -S /bin/ps/topprocps: /bin/ps/top第三步:在第二步中,我们得知ps的命令包含在源文件procps中,那么 我们现在就开始下...
2019-01-22 12:58:22 3060
原创 E: 您必须在 sources.list 中指定代码源(deb-src) URI 解决办法
上一篇文章运行$ apt-get source procps这个时候遇到了正在读取软件包列表... 完成E: 您必须在 sources.list 中指定代码源(deb-src) URI这个问题原因是我们的文件/etc/apt/source.list里的deb-src都被注释掉了,而现在我们需要,找到问题了就好解决了,可以直接vim修改该文件把deb-src的注释去掉,也可以运行“...
2019-01-22 12:17:56 20225 4
原创 sublime常用快捷键
安装Sublime Text 3官网 http://www.sublimetext.com/3选择对应的版本安装。完事后,要安装一个基础的、必备的包管理:Package Control,用来以后安装插件用的。安装指导 https://sublime.wbond.net/installation import urllib.request,os,hashlib; h = '71...
2019-01-15 14:58:08 331
原创 深入理解互斥锁的实现
在实际的软件编程中,经常会遇到资源的争用,比如下面的例子:[cpp] view plaincopy class Counter { private: int value; public: Counter(int c) { value = c; } int GetAndIncrement() { int temp = val...
2019-01-08 16:08:14 3943 1
原创 自旋锁和互斥锁区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:...
2019-01-08 16:07:01 1474 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人