Linux
文章平均质量分 58
GoingJack
怕什么真理无穷,进一寸有一寸欢喜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Qt】 关于垂直同步 以及在Window 下的一个关闭垂直同步动画过快的问题-暂未找到解决方案
刷新率一般来说 刷新率是相对于显示器来说的参数,就是我们常说的60HZ 或者 144HZ。对于其意义就是代表在1秒钟之内刷新的次数,所以通常来说 刷新率越高的屏幕用起来越舒服,个人比较喜欢144HZ 刷新率的屏幕 因为真的看起来比 60HZ的舒服多了,用过一次144HZ就再也不想用60HZ的屏幕了,当然屏幕价格也客观上来讲 刷新率越高 也越贵。FPS当然这个代表的是应用程序每秒可以提供多少帧的数据啊,一般是由渲染算法,和CPU GPU等各种因素决定的,总而言之凡是能影响计算一个画面所需要的时间的因素都原创 2021-03-27 23:56:45 · 1614 阅读 · 0 评论 -
【QML】 Video 播放第二次无法设置宽度和高度
在qml编程中,使用Video可以很方便的加载我们的媒体文件,比如说视频各种格式的视频,基本上都能满足,当然如果在Window 底下的话可能需要按照相应的解码器来才能播放。在项目开发中 遇到一个关于Video 的一个问题,在Linux中使用QML进行界面开发,(我是在UOS 即Deepin 15.11 中测试开发的) 。 当Video 第一次播放的时候 发现是可以正常在播放途中修改关于Video 的宽度和高度的,但是当第一次播放完成后,无论是设置autoLoad = MediaPlay.Infinite原创 2021-03-27 21:52:52 · 639 阅读 · 0 评论 -
Linux下进程间通讯-管道《一》
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)参考书籍《UNIX环境高级编程》 linux下的man帮助手册关于管道知识的编程应用https://blog.csdn.net/qq_42418668/article/details/95187084管道管道是UNIX系统IPC的最古老的形式,并且所有的UNIX...原创 2019-07-09 13:18:11 · 188 阅读 · 0 评论 -
linux下检测C程序是否存在内存泄漏
我们经常担心自己的程序是否有内存泄漏,但是项目规模一旦太大不便于人工去搜寻我们就使用本文介绍的办法可以快速直到自己程序是否有内存泄漏问题。使用这个方法我们可以快速的检查自己的程序是否有内存泄漏的问题,避免了大量的人工搜寻节省了大量的时间。1,首先安装软件yum -y install valgrind2,编译时加参数-g生成debug版本举例:我们这里故意申请了内存没手动释放...原创 2019-06-22 15:35:58 · 2221 阅读 · 0 评论 -
vim复制指定范围行的数据到另外某处
使用vim打开一个文件之后,输入冒号进入末行模式输入153,167 co 172代表的意思是复制153行到167行的内容到172行。这个特别的好用,这样我们就不需要需要复制某个范围行的数据不需要数我们需要复制多少行然后再傻傻的执行 比如上例中一共15行 我们之前可能就是 15 yy 然后切换到172行在 p。...原创 2019-06-22 11:23:50 · 12532 阅读 · 0 评论 -
linux使用vim编写程序莫名奇妙的卡住无法输入
这个多半是你的输入时误按了ctrl + s键启用了终端的滚动锁定,这会禁用你的终端模拟器的滚动功能(通过发送"XOFF"信号暂停软件的输出)。你可以使用Ctrl + q禁用滚动锁定,恢复终端滚动(通过发送"XON"信号来恢复软件输出)。如果我们要禁用这个功能呢,我们在~/.bashrc的配置文件中加入 stty -ixon然后重新加载配置文件即可 source ~/.bas...转载 2019-06-22 10:16:41 · 2327 阅读 · 1 评论 -
linux底下的math.h中的函数编译时注意
如果不加参数(-lm:原因是程序链接的时候找不到相关函数的符号,出错后一般为下图所示:)会报错所以下次需要使用math.h里面的函数,则记得加参数-lmgcc -o prime prime.c -lm...原创 2019-06-21 18:15:03 · 450 阅读 · 0 评论 -
用户态进入内核态的过程
将系统调用号存储到eax寄存器上 触发0x80中断,进入中断处理程序 保存线程,以为将来恢复使用 传递参数 切换到内核数据段 关于中断处理程序举例:(linux0.11调用实例)...原创 2019-06-21 16:16:12 · 2164 阅读 · 0 评论 -
linux下使用文件操作模拟cp命令(初级版)
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <assert.h>#include <fcntl.h>#include <sys/stat.h>int main(int arg...原创 2019-06-21 16:09:55 · 488 阅读 · 0 评论 -
linux下C语言用户输入一串字符,将其中的小写字母转化为大写写入文件中
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <assert.h>#include <fcntl.h>int main(){ char str[1024]={0}; pri...原创 2019-06-21 15:39:39 · 2102 阅读 · 0 评论 -
linux_文件操作
int open(const char *filename,int flag,/*int mode*/); filename:打开文件的文件路径+文件名 flag:打开文件的标记: O_RDONLY O_WRONLY O_RDWR O_TRUNC OCREAT mode :创建文件时,指定文件的访问权限。 int read(int fd,void *buf,size_t size); f...原创 2019-06-21 14:03:15 · 131 阅读 · 0 评论 -
Linux下的关于信号量的总结《一》
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)参考书籍《Linux高性能服务器编程》关于信号量的应用请看:https://blog.csdn.net/qq_42418668/article/details/95177446问题的提出 当多个进程同时访问系统上的某个资源的时候,比如同时写数据库的某条记录,比...原创 2019-07-09 11:10:18 · 467 阅读 · 0 评论 -
Linux下的关于信号量的总结《二》
关于信号量的基础理论知识请看:https://blog.csdn.net/qq_42418668/article/details/95166917使用信号量和管道实现A进程写内容到管道中,B进程不立刻的读取而是等A进程写完并且退出后B进程才读取。这里的A进程和B进程使用信号量来实现这个效果。我们对semget semop semctl进行封装如下sem.h#ifndef ...原创 2019-07-09 11:21:31 · 461 阅读 · 0 评论 -
在命令行使用pushd和popd进行快速定位
参考书籍《linux-shell脚本攻略》有时候我们在Linux下需要在超过三个目录直接来回切换操作一些东西,如果是俩个目录还好说,我们可以使用cd -来回切换即刻。那么超过三个怎么办呢。我们今天说的pushd和popd命令就是解决这个问题的。[gaojie@Jay ~]$ dirs~[gaojie@Jay ~]$ pushd /var/www/var/www ~[g...原创 2019-08-16 23:31:16 · 332 阅读 · 0 评论 -
Linux下网络编程---《三 使用API接口实现简单的服务器和客户端通讯程序》
程序实现了:服务器接受客户端发送的数据并且打印到屏幕上,并且服务器每次接受完数据后向客户端发送一个"OK"客户端实现接受用户输入(最多128字节)然后发送给服务器,然后接受服务器发来的OK打印到屏幕上面。服务器端:/*================================================================* Copyright (C) ...原创 2019-07-12 15:28:33 · 543 阅读 · 0 评论 -
Linux下网络编程---《二 API接口》
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)参考书籍《Linux高性能服务器编程》关于TCP套接口编程的几个API的原型以即主机的事项。以下函数基本上都需要头文件 #include <sys/types.h> #include <sys/socket.h>...原创 2019-07-12 15:23:57 · 411 阅读 · 0 评论 -
Linux下网络编程---《一 基础知识》
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)参考书籍《Linux高性能服务器编程》学习网络编程(Socket套接口)你所必须知道的知识点1. 关于字节序问题现在CPU的累加器一次都能装载(至少)4字节(32位机下),即一个整数。那么这4字节在内存中排列的顺序将影响它被累加器装载成的整数的值。这就是字节序问题。字节序分为...原创 2019-07-12 15:00:57 · 195 阅读 · 0 评论 -
【linux环境编程】模拟Shell解释器熟悉linux下的C语言编程
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)开发语言C参考书籍Linux程序设计 第四版代码地址https://github.com/GoingJack/Mybash知识要点 用户名字,用户ID的获取方法头文件: #include <sys/types.h> #include...原创 2019-07-06 18:23:32 · 480 阅读 · 0 评论 -
Linux下进程间通讯-消息队列《二》
关于消息队列基础内容:https://blog.csdn.net/qq_42418668/article/details/95189251进程A给消息队列添加消息,进程B获取消息:maina.c:/*================================================================* Copyright (C) 2019 . A...原创 2019-07-09 14:23:58 · 189 阅读 · 0 评论 -
Linux下进程间通讯-消息队列《一》
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)参考书籍《UNIX环境高级编程》关于消息队列知识的编程应用:https://blog.csdn.net/qq_42418668/article/details/95192660消息队列消息队列时消息的链接表,存放在内核中并由消息队列标识符标识。我们都知道每个...原创 2019-07-09 14:17:27 · 163 阅读 · 0 评论 -
Linux下进程间通讯-管道《二》
关于管道基础理论知识:https://blog.csdn.net/qq_42418668/article/details/95184701有名管道的使用编程举例(A进程获取用户的输入写入管道,B进程获取管道的内容并打印到标准输出上面)A.c:/*================================================================* ...原创 2019-07-09 13:35:24 · 220 阅读 · 0 评论 -
linux 下 man命令的简单使用说明
man 1 查看bash下命令的使用说明man 2 查看系统调用函数的使用说明man 3 查看库函数的使用说明原创 2019-06-16 18:25:12 · 337 阅读 · 0 评论 -
关于fork函数的应用
int i=0;for(;i<2;i++){ if(fork()) printf("A\n"); else printf("B\n");}这段代码打印几次A和几次B:分析过程如下。我们把在一个进程中的实体标记为一个状态。可知,一开始的原始程序是状态1,第一次原始程序fork出来的程序时状态2原始程序经过一次循环之后fork出来的子程序为状态3状态2经...原创 2019-06-16 18:23:05 · 321 阅读 · 0 评论 -
Git 下载失败(unable to access 'https://github.com/handy1989/vim.git/': Peer reports incompatible or uns)
问题:[root@localhost yum.repos.d]# git clone https://github.com/handy1989/vim.gitCloning into 'vim'...fatal: unable to access 'https://github.com/handy1989/vim.git/': Peer reports incompatible or ...原创 2019-03-21 23:46:52 · 1327 阅读 · 0 评论 -
linux umount 提示被占用无法卸载iso文件解决办法
问题:[root@localhost mnt]# umount /mnt -fumount: /mnt: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))解决方法:解除占用...原创 2019-03-21 22:58:28 · 1717 阅读 · 0 评论 -
red hat 如何使用yum命令安装gcc
挂载光盘 mount /dev/cdrom /mnt [root@localhost yum]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only 修改配置文件内容: [root@localhost mnt]# cd /usr/lib/python2.7/site-pa...原创 2019-03-21 22:45:27 · 2208 阅读 · 0 评论 -
Linux网络编程基础
IPv4套接口地址结构体struct in_addr{ in_addr_t s_addr;//32位IPv4地址 网络字节序}struct sockaddr_in{ uint8_t sin_len;//结构体变量长度 sa_family_t sin_family;//AF_INET IPv4 in_port_t ...原创 2019-03-26 13:37:56 · 233 阅读 · 0 评论 -
Linux复习_03_Makefile&压缩解压
什么是makefile?或许很多Winodws程序员都不知道这个东西,因为那些Windows IDE都为你做了这个工作,但我觉得要做一个好的和professional的程序员,makefile还是要懂的。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从...原创 2019-03-17 16:30:46 · 884 阅读 · 0 评论 -
Linux复习_02_gdb调试&链接文件&库文件
Linux 调试工具 gdb编译链接gcc的可执行文件,默认是release得release 发行版本debug 开发版本 可调式版本。ELF 文件的组成.text .data .bss(best 中间那个忘记了是啥了,space)用 readelf -S 查看文件信息可以得知,debug版本比release版本多了一些debug信息。编译过程中加入了deb...原创 2019-03-17 15:46:17 · 521 阅读 · 0 评论 -
Linux复习_01_文件结构系统&vim编辑器一些操作&C语言编译过程
/bin:存储系统所使用命令的可执行文件;;;;----ls------mkdir等命令可执行文件的存放路径。。。/home 用户家目录/dev 设备文件 硬盘或者U盘等/proc 虚拟目录 以进程为单位存储内存映射/etc配置文件/mnt 零时挂载点 mount /dev/sda1 /mnt/test命令模式:对光标的控制shift + 6将光标移动到当前行...原创 2019-03-17 13:09:46 · 183 阅读 · 0 评论 -
Linux复习_05_进程管理&进程加载
数据总线 地址总线 控制总线 把 CPU和内存和I/O连接起来的。main.c 编译链接 main(ELF)====》在磁盘上存放。程序===执行===》进程 存放在内存。CPU按照顺序执行进程的指令。操作系统对于进程的管理:(程序:乐谱 进程:演奏的过程 结果:歌曲)进程的概念:运行中的程序。| 进程是一组有序指令+数据+资源的集合。程序:存储在磁盘上的可执行文件。...原创 2019-03-19 19:06:08 · 265 阅读 · 0 评论 -
转载Vim配置
源地址:https://www.linuxidc.com/Linux/2016-06/132262.htm对于Windows上做C++开发的用户来说,vs为他们做了大量的工作,语法高亮、自动缩进、智能提示等等,当你happy的使用vs时,请记住一点,这是一个收费软件,虽然在我大中华普遍都在使用微软的盗版软件,但作为程序员我们心里应该知道这是不对的行为,然后再去——等等,我们今天讨论的不是这个话...原创 2019-03-26 13:37:29 · 281 阅读 · 0 评论 -
UNIX环境高级编程_01_实现bash 下的ls命令
第一个例子实现bash下的 ls命令。#include "apue.h"#include <dirent.h>int main(int argc,int **argv){ DIR *dp; struct dirent *dirp; if(argc!=2) { err_quit("usage: ls direct...原创 2019-03-26 13:37:03 · 245 阅读 · 0 评论 -
exit()和_exit()
exit()是结束当前程序并且刷新缓冲区到标准输出_exit()是结束档当前程序但是不将缓冲区的内容刷新到标准输出例如程序#include <stdio.h>#include <stdlib.h>#include <assert.h>int main(){ printf("hello"); sleep(2); pr...原创 2019-06-13 12:14:37 · 3557 阅读 · 0 评论 -
gcc和g++的区别
误区一:gcc只能编译C代码,g++只能编译c++代码俩个都可以 后缀为.c的,gcc把它当作是C程序,而g++当作是C++程序;后缀为.cpp的,俩个都会认为是C++程序 编译阶段 g++会调用gcc,对于c++代码,二者是等价的。但是因为gcc命令不能自动和C++程序使用的库链接,所以通常用g++完成链接。误区二:gcc不会定义__cplusplus宏,而g++会实际上,这个宏只...原创 2019-05-31 21:09:35 · 8282 阅读 · 0 评论 -
linux umask权限屏蔽码的使用
关于umask权限屏蔽码我们都知道在linux底下创建一个文件touch new.txt 它有自己的默认的权限,比如:可以看到在我的这台linux上,默认创建的文件的权限为自己为可读可写的权限,同一组的用户为可读的权限,其他用户为可读的权限,那么这个默认的权限是由什么东西来控制的呢!控制默认权限的就是我们要介绍的权限屏蔽码可以看到我们的linux的屏蔽码为0022他代表屏...原创 2019-05-18 19:40:25 · 743 阅读 · 0 评论 -
centos6.9配置mysql 并且设置远程登录
1,查看防火墙的状态service iptables status输出:iptables: Firewall is not running.证明你的防火墙没有打开可以。如果输出:为一些规则Table: filterChain INPUT (policy ACCEPT)num target prot opt source destination...原创 2019-05-25 13:27:12 · 789 阅读 · 0 评论 -
关于Shdowsocks.json配置多个端口对应多个密码
{ "server": "0.0.0.0", "port_password": { "8381": "foobar1", "8382": "foobar2", "8383": "foobar3", "8384": "foobar4" }, "timeout": 300, "method": "...原创 2019-05-09 23:30:15 · 1123 阅读 · 0 评论 -
在Linux环境下配置《UNIX网络编程的环境》
下载必要文件:http://www.unpbook.com/src.html 在上面给出的网站下载需要的压缩包。 找到合适的目录安放压缩包,建议建立良好的文件管理系统,方便日后找起来方便一些。 [root@localhost workspace]# lsUnixNetworkPrograming OtherDir[root@localhost workspace]# cd UnixN...原创 2019-04-08 21:33:17 · 499 阅读 · 0 评论 -
【linux 网络编程 求和】Unix Socket 网络编程 回射服务器 客户端输入俩个整数服务器经过计算返回值客户端接受并且输出。
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)Client相关代码://client.c#include "myhead.h"int main(int argc, char **argv){ int sockfd; struct sockaddr_in servaddr; if (arg...原创 2019-04-10 23:49:02 · 649 阅读 · 0 评论
分享