自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UNIX操作系统系统调用和缓冲区

UNIX操作系统也是一种程序。由操作系统内核管理着操作系统的各种资源,如CPU、内存,网络、设备、定时器、进程管理、进程间通信等(socket也是一种系统资源,提供了多系统之间进程的通信机制)。 操作系统和内核运行在系统空间,每个普通的用户会单独的给其分配对应的用户空间,但用户没有权限去直接调用系统资源,需要通过内核来调用。内核统一的管理着所有的系统资源,这样才不会...

2019-03-06 11:51:59 898

原创 Ubuntu16.04密码正确无法登录

Ubuntu16.04在输入密码后也没有提示密码错误,接着又回到了登录界面。按Ctrl+Alt+F1进入tty。cd ~ 进入用户目录。tty里有些命令会提示找不到,需要输入命令的全路径,比如/bin/ls -al这样尝试了下删除/home/用户名/.Xauthority 下的这个文件,重启后并没有解决。于是/usr/bin/sudo /bin/vi /etc/profi...

2019-01-31 13:23:57 4488

原创 Ubuntu16.04下Qt配置Android开发环境

最近使用Qt开发个小工具给自己玩,但是自己又只擅长CPP,于是想到了Qt,自己没事折腾下,部署下环境就自己弄着玩了,记录下自己配置的过程(安装后再写的,所以中间缺少下图片,文字也一样)一. 、下载Qt在线安装工具http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run....

2019-01-29 16:44:45 1956

原创 linux下C++项目安装使用libevent

下载地址libevent-2.1.8-stable.tar.gz解压文件# tar -xvf libevent-2.1.8-stable.tar.gz配置目录# ./configure -prefix=/usr/local/libevent编译程序# sudo make安装# sudo make install...

2019-01-23 21:05:29 1091

原创 Linux源码安装curl-7.63.0

C或者C++语言没有Http处理的功能,所以一般多用curl外部的库下载7.63的源码wget http://curl.haxx.se/download/curl-7.63.0.tar.gz解压tar -xvf curl-7.63.0.tar.gzcd curl.7.63.0指定安装目录./configure --prefix=/usr/local/curl编译安装...

2019-01-19 21:39:55 3150

原创 GIT实用教程windows桌面平台

Git是分布式版本控制系统,更多原理等熟悉并且实用后再说!一、首先需要Github网站注册个账号来管理你自己的代码项目1.首先要有自己的邮箱,没有去注册2. 注册github账号,地址https://github.com 注册并且记住自己的账号和密码3.下载并且安装Git-Bash下载git for windows https://git-scm.com/dow...

2018-12-24 17:52:05 734

原创 linux多线程入门(二)互斥量

当多个线程访问一个共享的变量的时候是非常危险的,可能会拿到错误的数据或者程序崩溃!所以为了安全的使用线程引入了互斥量的做法两个互斥量的函数为pthread_mutex_lock(pthread_mutex_lock* lock)pthread_mutex_unlock(pthread_mutex_lock* lock)具体使用也很简单static int total_co...

2018-12-06 12:20:24 152

原创 Linux多线程入门(一)

      对一个没有开启多线程的基本的进程程序而言,只有一个进程,一个线程,就是主线程,所有的程序执行都是按照"过程"的方式,从头到尾,一步步执行。而多线程的引入就是希望能够一身多用,专注当前任务的同时能够分身去做别的事情,类似网络小说中的"分身"。#include <stdio.h>void print(char* msg){ for (int i = 0; i...

2018-12-06 11:30:09 412

原创 Qt Creator中调试代码出现Unknow error弹窗

最近在Qt Creator里调试代码,发现比Clion也更人性化。特别是在编辑和调试上。但是偶尔也会出现一些小问题。一、cmake管理的项目,每次点击开始调试就会弹出一个弹出Unknow error!处理的方法就是删除项目下的CMakeLists.txt.user 文件。然后把项目重新打开,选择CMake Project File项目,选择CMakeLists.txt。然后点击Config...

2018-12-05 10:12:31 3836

原创 linux安装protobuf3.6.1编译安装

google protobuf-3.6.1是现在最新版本,添加了新的特性,看说明下载地址 https://github.com/protocolbuffers/protobuf/releases我下载的是protobuf-all-3.6.1.tar.gz 包新版本不需要执行autogen.sh脚本,直接./configure就行 tar zvxf protobuf-all-3...

2018-12-03 20:37:49 14954 3

原创 mysql查询去重最大值筛选

goodsinoutlog表是玩家充值记录表。RoleID为用户ID,NewValue为最新的充值总金额。玩家的所有记录都会被收录。但是我们只需要最大的NewValue的那一项。所以需要去除重复。而且还要取最大的NewValue的那一条。 表结构:mysql> desc goodsinoutlog;+--------------+---------------------+---...

2018-12-03 12:48:43 4470

原创 mysql安装以后设置root账号和密码

# cd /etc/mysqlsudo vim debian.cnf  一定要是sudo或者root账号权限打开,否则看不到内容#Automatically generated for Debian scripts. DO NOT TOUCH![client]host = localhostuser = debian-sys-maintpassword = jj5...

2018-12-01 15:44:32 3265

原创 Debian9.4.0win10上双系统U盘安装教程

Debian一直是本人最喜欢的桌面操作系统,所以也分享下windows10下双系统安装的过程,至于虚拟机安装则就更简单了,在此不做赘述。官网下载DVD镜像地址https://cdimage.debian.org/debian-cd/current/amd64/bt-dvd/选择其中的debian-9.4.0-amd64-DVD-1.iso.torrent 这个就可以了剩下的2个IOS文件主要以软件...

2018-06-24 09:18:59 19492 1

原创 Debian8.8开发环境(七)vim中C++标准库STL的高亮

在cpp.vim文件中 ” C++ extensions下面天津一个syn keyword cppAccess, 具体就是" C++ extensionssyn keyword cppAccess abort abs accumulate acos adjacent_difference adjacent_find adjacent_find_if any append asctim

2017-06-05 17:40:53 643

原创 Debian8.8开发环境(六)vim函数的高亮显示

找到vim的安装和配置路径,我的debian安装的时候路径是/usr/share/vim/vim74。 在 /usr/share/vim/vim74/syntax中的c.vim文件末尾中添加如下代码:"highlight Functionssyn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2syn match cFun

2017-06-05 17:29:37 462

原创 Debian8.8开发环境(五)vim的插件管理和配置

安装git: sudo apt-get install git 直接安装的2.14版本安装管理vim的插件管理器vundle: git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle替换了.vimrc和.vimrc.bundles文件以后直接打开vim,执行:BundleInstall即可更新插件,但是YouCo

2017-06-05 16:45:40 961

原创 Debian8.8开发环境(五)vim设置文件和vunlde的配置

我的个人vimrc文件,其中有一部分在.vimrc.bundles文件中,这2个文件都必须放在/home目录下" Use Vim settings, rather then Vi settings. This setting must be as early asset nocompatible" Highlight current line"au WinLeave * set nocursor

2017-06-05 16:17:35 669

原创 Debian8.8开发环境(四)个人设置之bashrc

个人的一些命令在~/.bashrc中配置,设置的好可以为工作带来极大的方便,下面是贴出的个人的一部分设置,仅供参考 基本就是使用alias去设置一些快捷的使用方式和查找一些个人的工作目录# MODIFY BY zhenshangxue vi ~/.bashrc 自己根据自己的工作目录修改的export SERVER_HOME=$HOME/Linux/workexport GAME_SERVER

2017-06-05 16:13:06 1828

原创 Debian8.8开发环境(三)系统窗口最大化最小化

debian新系统只有关闭按钮,很多人肯定很不习惯。开启最大化最小化的方法也非常简单。 终端中输入gnome-tweak-tool打开设置窗口 在桌面栏开启桌面图标 在窗口栏开启最大化和最小化按钮的显示 字体中设置自体为 Driod Sans Mono Regular,(个人习惯)

2017-06-05 16:07:29 2080

原创 Debian8.8开发环境(二)安装程序设置

一、debian8.8源 进入root帐号,打开/etc/apt/source.list,写入这个源中科大deb http://mirrors.ustc.edu.cn/debian jessie main contrib non-free deb-src http://mirrors.ustc.edu.cn/debian jessie main contrib non-free deb htt

2017-06-05 16:03:34 923

原创 Debian8.8开发环境(一)系统安装

debian一直是自己最喜欢的GUN/Linux发行版,在此也记录下自己从安装到配置整个系统去使用的一个过程。 一、安装系统 1、在官方网站下载DVD1的安装系统拷贝,大小大概在3.8G左右。 2、准备一个4G/8G的U盘。下载UltraISO,注意一定不要使用使用版本,成功率非常低,注册的版本成功率还是很高的。 3、从开始菜单选择文件,启动中选择制作硬盘启动,选择模式为USB-HDD+,点

2017-06-05 15:55:30 2303

原创 samba映射linux驱动器

安装 sudo apt-get install samba查看samba服务器是否已经启动服务 service –status-all在/etc/samba/smb.conf中 下面加入: security=user #user 是需要密码, share不需要密码(默认是user)[work] comment=work path=/home/zhenshangxue

2017-05-10 12:02:00 560

原创 struct hack和灵活的数组成员

在C89中为了灵活的为字符串分配长度,出现了一种比较常见和实用的惯用法:struct hack(此处不知道如何翻译),实际就是一种欺骗编译器而分配更多的内存来存储字符串的方法。 一般实用的方式是这样的:struct mystr { int length; char strs[1]; //指定数组的长度为1};但在实际使用的时候是这样去用的:struct mystr* str

2017-05-10 11:18:51 1415

原创 抽象、封装和高内聚、低耦合

数据抽象是依赖于接口和实现分离的编程技术。使用接口的用户(程序员)不需要关心具体这个实现的细节,只需要知道怎么样去使用即可,具体的这个实现的具体内容可以通过猜测大致的知道就行。 封装是将低级的元素组成起来形成高层次的实体的一种技术,比如常规的函数!函数内部隐藏了具体要执行的代码的细节。高内聚和低耦合 高内聚指模块内部元素之间高度紧密联系,为了模块的功能实现而工作和合作。 低耦合是指不同的模块之

2017-05-05 17:42:36 1480

原创 STL顺序容器vector,list和deque

顺序容器是通过将指定类型的元素按照位置顺序进行存储和访问的一种容器类型. STL标准库中的顺序容器有三种:vector, list, 和deque(double ended queue双端队列,读[dɛk]) 三个容器对应的头文件:#include <vector>#include <list>#include <deque>容器的通用构造函数, 假设容器类型为vector, 保存的元素类型

2017-04-30 17:26:05 321

原创 C语言字符串处理函数的实现

C语言并没有字符串类型,而是通过把字符数组的字符后面一位赋值为’\0’字符来实现的, 这个’\0’字符的码值为0, 而不是’0’字符的48!C语言的这种通过数组的方式进行存储字符串的形式在使用的过程有很大的难度, 一不小心就可能越界或者注意不到这个字符串和数组的长度, 所幸的是char* strcpy(char* s1, const char* s2){ while ((*s1++ = *

2017-04-29 07:54:21 461

原创 C和C++字符字节数大小问题

忽略语法具体的差异性就是在拿程序的安全性冒险! 学过C或者C++的同学一想到字符肯定首先想到的是占用一个字节的存储空间,但事实真的如此吗。 先看一段代码:#include <stdio.h>int main(void){ printf("sizeof(char)=%ld\n", sizeof(char)); printf("sizeof('A')=%ld\n", sizeof(

2017-04-25 10:35:23 5521

原创 C程序设计读书笔记

2.1.1 预处理,预处理器执行以#开头的命令 编译,编译器把程序翻译成指令(目标代码) 链接,链接器把由编译器产生的目标代码和所需的其他库文件链接形成可执行文件cc编译器是UNIX系统的工具 GCC编译器是随Linux发行2.4.1 float型变量存储的数值是实际数值的一个近似值,比如0.1,实际存储的是0.09999999999999987 是存储的舍入误差导致的变量的类型决定了

2017-04-24 17:44:52 425

原创 C语言代码书写风格

相信经常coding的同学在项目中看别人的代码一定会像我一样的头痛,特别是有点强迫症的程序猿在看和自己风格差距较大的代码的时候内心甚至会出现烦躁和想去“改正”的念头。下面就为大家总结下一些常见的代码编程风格。一、符合语句的代码风格 1. K&R风格,Kernighan和Ritchie共同完成C语言‘白皮书’C Programing Language一书的时候使用的风格,由于此书被当时的C程序员誉为

2017-04-24 14:31:31 16462 4

原创 vim项目管理插件project

vim项目管理插件project在vim下编程的时候我们可以借助一些插件来管理项目,比如The-NERD-tree,本篇推荐给大家的也是一个比较方便使用的项目管理插件project.vim,下载链接project-1.4.1.tar.gz.1.windows下使用方法: 下载解压后得到project.vim文件,放入安装gvim的目录C:\Program Files (x86)\Vim\vim74

2017-02-03 10:48:56 1140

gvim项目文件管理插件

project.vim插件,linux打开文档后 :Project一行生成项目列表,简单方便。里面文档中有详细介绍使用方法。

2017-02-03

电脑技术整理

日常遇到的问题解决方法, 再使用电脑的同时可以参考解决出现的问题

2013-10-02

空空如也

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

TA关注的人

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