
linux
文章平均质量分 57
化茧成蝶007
从事Linux下的开发,熟悉shell,Python,c++,c,目前学习qt开发
展开
-
搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
在实际应用中,我们不可能在命令行登录进数据库进行数据的查询、插入等操作,用户一般是使用一个界面良好的应用程序软件来对数据进行管理。为了方便应用程序的开发,MySQL提供了多种编程语言(C、perl、php等)的编程接口,供开发者使用。 对于C语言来说,MySQL提供了C语言客户机库,它允许从任何C程序的内部访问MySQL数据库,客户机实现API,API定义了客户机如何建立和执行与转载 2017-08-05 10:44:35 · 489 阅读 · 0 评论 -
git status .查看时,显示乱码,解决办法
1、在实现git status显示乱码ts@ts-OptiPlex-3020:~/NOTE/R_note$ git status .位于分支 master您的分支与上游分支 'origin/master' 一致。未跟踪的文件: (使用 "git add ..." 以包含要提交的内容) "R\350\257\255\350\250\200\347\25原创 2017-11-17 10:44:48 · 1045 阅读 · 0 评论 -
卸载wps ubuntu
1、ubuntu系统卸载pwssudo apt-get purge wps-office:i386原创 2017-11-13 17:00:57 · 2211 阅读 · 0 评论 -
linux 命令系列之 mount命令--挂载出现只读,解决方案
在系统中mkdir 出现了 linux提示mkdir: cannot create directory `test': Read-only file system,查看时,是因为mount设备的时候,是只读的root@atlas7-arm:~# mount/dev/mmcblk0p3 on / type ext4 (ro,relatime,data=ordered)devtmpfs原创 2017-11-21 10:40:47 · 89677 阅读 · 6 评论 -
安装openssl和openssl-devel
以下借鉴了他人的安装方法,并根据我自己的安装进行了修改1.下载wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz2.解压tar zxf openssl-1.0.2h.tar.gz3.安装cd openssl-1.0.2h./config shared zlibbecause of con转载 2017-11-24 09:43:52 · 3826 阅读 · 0 评论 -
BMP文件格式详解(BMP file format)
BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。下面转载 2017-12-05 13:31:33 · 352 阅读 · 0 评论 -
网卡工作原理
1、分析网卡的工作原理即是分析网卡的驱动程序2、为了屏蔽网络环境中物理网络设备的多样性,Linux对所有的设备进行抽象并定义了一个统一的概念,称之为接口3、一个网络接口被看作是一个发送和接收数据包的实体。4、对于每个网络接口,都用一个net_device的数据结构来表示。5、所有被发送和接收的包都用数据结构sk_buff表示6、要发送数据原创 2017-12-30 20:50:08 · 6799 阅读 · 0 评论 -
register修饰符有几点限制
(1)register变量必须是能被CPU所接受的类型。这通常意味着register变量必须是一个单个的值,并且长度应该小于或者等于整型的长度。不过,有些机器的寄存器也能存放浮点数。最好不要这样去用(2)因为register变量可能不存放在内存中,所以不能用“&”来获取register变量的地址。(3)只有局部自动变量和形式参数可以作为寄存器变量,其它(如全局变量)不行。在调用一个函数原创 2017-12-30 21:04:35 · 481 阅读 · 0 评论 -
Linux系统IP路由基础 路由原理
1、路由原理一个普通的主机与路由器之间的根本区别在于,主机不会将一个报文从一个接口转发到另一个接口,而路由器可以转发报文如今,大多数的多用户系统都可以被配置,从而被当作路由器来用。因此,一个普通路由算法可以被用在路由器上,同样也可以用在一台普通主机上。当一台主机可以用作路由器时,我们通常说这台主机嵌入了路由器的功能。这种具备嵌入路由器功能的主机平常不会转发报文,除非我们对它原创 2017-12-30 21:08:15 · 1064 阅读 · 0 评论 -
8个Linux必背常用指令,立马熟悉Linux
1、cat 连接文件 并输出结果2、sort文件里的文字按行排序3、grep打印出匹配条件的文字行4、cut删除文件中字符行上的某些区域5、uniq删除重复行6、sed用来输入流上执行基本的文本变换7、find在文件目录中搜索文件8、less原创 2017-12-30 21:37:01 · 998 阅读 · 0 评论 -
临界区 互斥量 信号量 事件
1、临界区公用资源,某一时刻只能被一个多线程访问,有线程进入后,其他线程必须等待2、互斥量和临界区很相似,只有拥有互斥对象的线程才能访问资源,互斥对象只有一个,所以某一刻只有一个线程可以访问 互斥量比临界区复杂,因为使用互斥可以在同一应用不同线程间访问,也可以在不同应用之间访问 创建 打开 释放 等待 3、允许同一时刻多个线程进行共享资源原创 2017-12-30 22:28:28 · 273 阅读 · 0 评论 -
C语言结构体的对齐方式
1、临界区公用资源,某一时刻只能被一个多线程访问,有线程进入后,其他线程必须等待2、互斥量和临界区很相似,只有拥有互斥对象的线程才能访问资源,互斥对象只有一个,所以某一刻只有一个线程可以访问 互斥量比临界区复杂,因为使用互斥可以在同一应用不同线程间访问,也可以在不同应用之间访问 创建 打开 释放 等待 3、允许同一时刻多个线程进行共享资源原创 2017-12-30 22:29:48 · 268 阅读 · 0 评论 -
Sub-process /usr/bin/dpkg returned an error code (1) Sub-process /usr/bin/dpkg returned an error co
一般遇到这种问题,直接一下的步骤,基本可以解决问题cd /var/lib/dpkgsudo mv info info.baksudo mkdir infosudo apt-get install 包名sudo -rf infosudo mv info.bak infosudo apt-get update sudo apt-get upgrade sud原创 2017-12-30 22:41:52 · 214 阅读 · 0 评论 -
python实现ssh链接步骤
import SSHLibraryimport paramikofrom paramiko import SSHClient#from library import LinuxTestLibraryclass DeviceSSHConnect(object): #__init__ def __init__(self): self.remote = gl原创 2017-12-27 16:54:18 · 2021 阅读 · 0 评论 -
队列的简单实现--C语言
#include struct queue{ int data[100]; //存数据 int head;//头结点下标 int tail;//尾节点下标};int main(){ struct queue q; int i; q.head = 1;原创 2017-11-02 21:04:30 · 655 阅读 · 0 评论 -
将内核生成的打印信息,提出后,得到相关的cases信息
将testcast, result,total tests, total skipped tests, total failure整理正csve文档ModuleTestSuitTestCaseResultTotal TestsTotal Skipped TestsTotal Failuresddtsata_dvd_detect原创 2017-11-02 19:39:36 · 218 阅读 · 0 评论 -
Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module'object has no attribute 'xxx'"。这其实是.pyc文件存在问题。问题定位:查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件 问题解决方法:1. 命名py脚本时,不转载 2017-11-02 11:16:36 · 9737 阅读 · 2 评论 -
Linux环境下 ping www.baidu.com
由于使用yum 安装外网的rpm包,想连接互联网进行yum 安装 通过这几部设置就可以完成,我是centos 7的实体机器,不是虚拟机器,如果是虚拟机centos还需要设置其他一些设置1、vi /etc/sysconfig/network-scripts/ifcfg-enp2s0f0(红色部分对应的要配置的网卡名称)BOOTPROTO=staticONBOOT=yes()原创 2017-08-10 10:04:32 · 5142 阅读 · 0 评论 -
线程同步-----条件变量
条件变量本身不是锁!但它也可以造成线程阻塞。通常与互斥锁配合使用。给多线程提供一个会合的场所。主要应用函数: pthread_cond_init函数 pthread_cond_destroy函数 pthread_cond_wait函数 pthread_cond_timedwait函数 p原创 2017-08-06 18:58:15 · 285 阅读 · 0 评论 -
线程同步---信号量
进化版的互斥锁(1 --> N) 由于互斥锁的粒度比较大,如果我们希望在多个线程间对某一对象的部分数据进行共享,使用互斥锁是没有办法实现的,只能将整个数据对象锁住。这样虽然达到了多线程操作共享数据时保证数据正确性的目的,却无形中导致线程的并发性下降。线程从并行执行,变成了串行执行。与直接使用单进程无异。 信号量,是相对折中的一种处理方式,既能保证同步,数据不原创 2017-08-06 19:27:33 · 248 阅读 · 0 评论 -
进程间同步
互斥量mutex进程间也可以使用互斥锁,来达到同步的目的。但应在pthread_mutex_init初始化之前,修改其属性为进程间共享。mutex的属性修改函数主要有以下几个。主要应用函数: pthread_mutexattr_t mattr 类型: 用于定义mutex锁的【属性】 pthread_mu原创 2017-08-06 20:10:13 · 327 阅读 · 0 评论 -
线程同步-文件锁
文件锁 借助 fcntl函数来实现锁机制。 操作文件的进程没有获得锁时,可以打开,但无法执行read、write操作。fcntl函数: 获取、设置文件访问控制属性。 int fcntl(int fd, int cmd, ... /* arg */ ); 参2: F_SETLK (str原创 2017-08-06 23:05:47 · 994 阅读 · 0 评论 -
哲学家用餐模型分析
多线程版: 选用互斥锁mutex,如创建5个, pthread_mutex_t m[5]; 模型抽象: 5个哲学家 --> 5个线程; 5支筷子 --> 5把互斥锁 int left(左手), right(右手) 5个哲学家使用相原创 2017-08-06 23:33:51 · 382 阅读 · 0 评论 -
va_start(),va_end()函数应用
原理解释:VA_LIST 是在C语言中解决变参问题的一组宏,在头文件下。VA_LIST的用法: (1)首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针 (2)然后用VA_START宏初始化变量刚定义的VA_LIST变量,这个宏的第二个参数是第一个可变参数的前一个参数,是一个固定的参数。 (3)然后用VA_AR原创 2017-08-14 23:39:19 · 250 阅读 · 0 评论 -
centos 下如何修改网卡名称
环境:centos 7.X 步骤1: 先编辑网卡的配置文件 1) vi/etc/sysconfig/network-scripts/ifcfg-eno1677736 2) 将NAME项修改为eth0步骤2:重命名该配置文件 1) cd/etc/sysconfig/network-scripts/原创 2017-08-26 12:07:47 · 450 阅读 · 0 评论 -
Git常用命令查询
原创 2017-09-17 20:04:35 · 291 阅读 · 0 评论 -
git diff 指令详解
下面是一个通常的git diff的输出结果:$ git diff README.mddiff --git a/README.md b/README.mdindex d29ab50..7e42b29 100644--- a/README.md+++ b/README.md@@ -37,3 +37,4 @@ You can get it using command `hostname`转载 2017-09-17 23:36:42 · 577 阅读 · 0 评论 -
git 操作笔记
git使用用户手册1、查看配置 git config -l查看不同级别的config2、git配置文件分类--system 系统级--global 全局--local当前项目注意:对于同一配置项,三个配置文件的优先级是13、设置用户名与邮箱(用户标识,必要)git config --global user.name "gaozhen"git c原创 2017-09-20 22:13:53 · 280 阅读 · 0 评论 -
如何在 Ubuntu 上用 Yocto 创建你自己的嵌入式 Linux 发行版
讲解的很不错,值得推荐https://linux.cn/article-8268-1.html?amputm_medium=rss转载 2017-10-19 20:05:29 · 593 阅读 · 0 评论 -
Linux patch命令
Linux patch命令用于修补文件。patch指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。语法patch [-bceEflnNRstTuvZ][-B ][-d ][-D ][-F ][-g ][-i ][-o ][-p ][-r ]原创 2017-10-31 21:30:50 · 356 阅读 · 0 评论 -
linux 配置文件读写解析
有时我们自己写Linux下配置文件,需要手动解析,然后使得程序可以配置的类似于以下格式 simple.conf: ## Sample configuration file ip=192.16.31.2port=22Desktop-Picture = /usr/images/earth.jpg Position = Centered直接上代码解析:头文件ccl.h#ifndef CLL...原创 2018-03-21 20:52:03 · 5943 阅读 · 1 评论