自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

转载 github中README.md文件写法解析

目录(?)[+]开始编辑README关于标题显示文本普通文本显示空格的小Tip单行文本多行文本部分文字的高亮文字超链接插入符号圆点符缩进插入图片来源于网络的图片GitHub仓库里的图片给图片加上超链接插入代码片段题外话在GitHub上用Gist写日记吧【原文】http://blog.csdn.net/guodongxiaren/art

2017-12-25 21:03:10 1248

转载 VMware ip变成127.0.0.1

[root@localhost 桌面]# ifconfig  lo: flags=73  mtu 65536          inet 127.0.0.1  netmask 255.0.0.0          inet6 ::1  prefixlen 128  scopeid 0x10          loop  txqueuelen 0  (Local Loopback)

2017-12-22 16:40:14 1329

转载 VIM插件: NERDTREE[树形目录]

VIM插件: NERDTREE[树形目录]转自:http://blog.csdn.net/cromma/article/details/52879022nerdtree树形目录插件能够在vim下浏览文件系统的所有文件,并能够打开文件。同时可以通过配置nerdtree过滤一些文件不被树形结构浏览。github:The NERD Tree。安装Bundle 'scroo

2017-12-16 11:31:06 1914

转载 Win10升级后VMWare内的系统连不了网如何解决

一些既想要体验新系统又不愿放弃旧系统的用户,一般都会在电脑中安装VMWare虚拟机。不过,他们偶尔也会遇到这样一个问题,当win10系统自动升级后,VMWare虚拟机内的系统就会出现无法连接网络的情况了,这是怎么回事呢?下面,就随小编看看Win10升级后VMWare内的系统连不了网问题的解决方法。原因分析:win10系统升级,就像重装系统,不仅会重置一些用户配置,还会重装(更新)一些硬

2017-12-10 20:42:12 1674

转载 问题解决:printf()函数无法打印

今天写聊天室项目,调试出了问题,查看了代码无法找到问题,于是用printf()逐行打印。问题定位很快,然而发现打印到一半,就无法显示。进过排查,这不是程序的问题,而是printf()函数无法打印。这个问题涉及到printf()输出缓冲的问题。对于标准输出设备stdout,输出一般都有缓冲,当遇到刷新标志或缓冲满时才把缓冲的数据输出到标准输出设备中。对于printf()函数,其使

2017-12-05 11:29:06 6993

转载 C语言命名冲突问题

如果你有多年C语言编程经验的话,相信对C语言的命名冲突应该不陌生。本文结合个人一些经验讨论一下命名冲突的问题。     首先讲一下命名冲突的由来。C语言中所有的符号名称都定义在一个全局命名空间中。这样符号名称,中间文件名称(.o文件或者.obj文件)都可能会冲突。     根据我的经验,如下情况下容易产生C语言命名冲突:1、当系统只有一个模块的时候,命名冲突的问题不太严重。当系统有

2017-10-01 16:34:20 4841

转载 linux c动态链接库的使用

本文以一个简单的例子,介绍linux下动态库的创建和使用操作。其中就无法找到动态库文件的问题简单介绍处理办法。动态链接库文件在windows平台下往往以.dll为后缀,而在linux平台则一般以.so为后缀,so是shared object的缩写。感觉在linux下构建动态链接库文件比在windows下省点功夫,使用gcc编译器的话,只需简单地在gcc命令行参数中加上-shared选项以下是...

2017-10-01 15:29:19 1788

转载 c语言日志封装-输出文件名、函数名、行号

在后台程序运行出问题时,详尽的日志是抓错不可缺少的帮手,这里提供一个能自动记录日志触发点文件名、行号、函数名的方法,关键是利用C99新增的预处理标识符__VA_ARGS__先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。ANSI C标准中有几个标准预定义宏(也是常用的):__LINE__:在

2017-09-25 15:04:44 2217

原创 从系统设计层面看IOS相比于安卓的优势

乔布斯最伟大的地方,不是发明了个人电脑,不是发明了ipod,也不是重新发明了手机,而是,他重新发明了操作系统。IOS和AppStore才是他最伟大的作品。相比安卓,IOS在多个方面做到了领先。1、IOS为触控手机做了系统级的优化。IOS的屏幕渲染线程,在系统的所有线程中,是优先级最高的,这就保证了界面显示和动画非常流畅。安卓的屏幕渲染线程并没有特别的优先级,所以只要有其他的程序在运行,安卓

2017-09-23 12:11:55 505

转载 如何用命令行在github新建一个项目

如何用命令行在github新建一个项目前言:新建github帐号和git的基础知识那些就默认读者掌握并且已经添加自己电脑的SSH Key到github,下面注意说一下如何在github新建项目。本文参考了这篇文章git的基础知识入门新建项目分2种情况:1.代码从零开始。2.本地已经存在项目代码,只是想放到github上开源或者存放。然而,无论是哪种情况,都得先在gi

2017-09-17 15:47:41 2392 1

转载 linux下useradd命令详解

1.作用  useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。  2.格式  useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name  3.主要参数  -c:加上备注文字

2017-09-17 14:25:29 532

转载 手把手教你把Vim改装成一个IDE编程环境(图文)

手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有

2017-09-16 20:25:51 3988

转载 EPOLLIN , EPOLLOUT , EPOLLPRI, EPOLLERR 和 EPOLLHUP事件

1、listen fd,有新连接请求,对端发送普通数据 触发EPOLLIN。2、带外数据,只触发EPOLLPRI。3、对端正常关闭(程序里close(),shell下kill或ctr+c),触发EPOLLIN和EPOLLRDHUP,但是不触发EPOLLERR 和EPOLLHUP。再man epoll_ctl看下后两个事件的说明,这两个应该是本端(server端)出错才触发的。5、对

2017-09-08 10:24:17 25241 5

转载 Github 简明教程

如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。 但是你如果已经在读这篇文章了,我觉的你已经知道Github了。 正是Github,让社会化编程成为现实。什么是 Github?github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也

2017-08-31 18:17:41 276

原创 关于snprintf函数

最近项目中需要频繁用到这个函数,了解了一下其中的细节。测试代码如下:#include #include void main(){ char *str1 = "aaabbb"; char *str2 = "aaabbbcccdddeee"; char arr[10]; int res = snprintf(arr, 1

2017-08-31 16:23:42 402

转载 epoll边缘触发(epoll et) 源代码例子

在利用epoll编写网络应用程序,特别是服务器的时候。为了得到最优的效果,一般采用边缘触发(epoll ET)的方式。由于边缘触发,epoll_wait只有在套接字状态发生变化的时候才会返回。所以要对套接字(socket)进行循环accept,read,write;直到套接字的缓冲区空(read,accept)或者填满(write)为止。当read返回的字节数小于要读的字节数,或者返回EAGAIN

2017-08-24 11:31:48 549

转载 浅谈linux几种定时函数的使用

在程序开发过程中,我们时不时要用到一些定时器,通常如果时间精度要求不高,可以使用sleep,uslepp函数让进程睡眠一段时间来实现定时,前者单位为秒(s),后者为微妙(us);但有时候我们又不想让进程睡眠阻塞在哪儿,我们需要进程正常执行,当到达规定的时间时再去执行相应的操作,在linux下面我们一般使用alarm函数跟setitimer函数来实现定时功能;下面对这两个函数进行详细分析

2017-08-23 15:50:25 1510

转载 如何给shell脚本传入参数小结

大家都知道普通的bash命令后边可以跟任意的参数,那我们自己编写的脚本是否也支持传递参数呢?答案当然是肯定的执行“vim test.sh”创建一个新的shell脚本。脚本test.sh的内容如下:#!/bin/shname=$1echo "the ${name} are great man!"给新创建的test.sh的脚本赋可执行权限,命令为“chmod +x test.sh”

2017-08-17 10:32:21 14282

转载 C语言 static和extern关键字 对变量的作用

上一讲介绍了static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问;extern用来定义和声明一个外部函数,允许其他文件访问。static和extern对变量也有作用,不过跟函数有点差别。 C语言和Java都有全局变量的概念,但是它们的用法还是有些差别的。一、在Java中,全局变量的定义没有严格的位置规定全局变量可以定义在类的最前面,也

2017-08-16 17:01:46 339

转载 C语言 static和extern关键字 对函数的作用

上一讲中大致介绍了变量的类型,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域。这讲介绍2个比较重要的关键字:static和extern。static和extern不仅可以用在变量上,还可以用在函数上。这讲先介绍它们对函数的作用。一、extern与函数在第三讲和第四讲中,我提到过一句话:如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件

2017-08-16 16:49:32 967

转载 跟我一起写 Makefile (陈皓)

作者:陈皓 来源:http://www.chinaunix.net/old_jh/23/408225.html概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想

2017-08-15 17:16:16 434

转载 动态库调用静态库示例讲解(3)

一个应用程序调用动态库, 而这个动态库其中的函数调用某静态库时,如何生成应用程序呢?看下面的代码就明白了 生成动态库: 需要的目标文件得用-fPIC选项生成.而静态库所需的目标文件可以不用-fPIC选项.例: /////// static.hvoid static_print();///////static.cpp#include #include "s

2017-08-15 10:52:06 291

转载 服务器负载均衡技术

背景介绍:由于网络的数据流量多集中在中心服务器一端,所以现在所说的负载均衡,多指的是对访问服务器的负载进行均衡(或者说分担)措施。负载均衡,从结构上分为本 地负载均衡和地域负载均衡(全局负载均衡),前一种是指对本地的服务器集群做负载均衡,后一种是指对分别放置在不同的地理位置、在不同的网络及服务器群集 之间作负载均衡。每个主机运行一个所需服务器程序的独立拷贝,诸如Web、FTP、Telnet

2017-08-14 11:05:18 611

转载 如何调试makefile变量

六、七年前写过一篇《跟我一起写Makefile》,直到今天,还有一些朋友问我一些Makefile的问题,老实说,我有一段时间没有用Makefile了,生疏了。回顾,这几年来大家问题我的问题,其实很多时候是makefile的调试问题。所以,就像我在之前的那篇关于GDB的技巧的文章中做的一样,在这里向大家介绍一个小小的调试变量的技巧。相信一定对你有用。对于Makefile中的各种变量,可能是我们比

2017-08-10 15:02:30 296 1

转载 makefile中$< $@ $? $$ 和“四个$”的含义

例如:a.o b.o x.o: a.c b.c x.c                 cc -c $其中: $ 表示 a.c   (即所有依赖的合集的第一个文件)             $@ 表示 a.o b.o x.o (即所用目标的合集)补充1:四个$  代表随机编号              如 echo “rocme” > file.四个$ 的意

2017-08-10 14:12:12 1826

转载 SVN属性操作命令

1. 查看属性列表svn pl PATHe.g.  svn proplist file-name                           #列出文件中的所有属性svn pl .                                               #列出当前目录下的所有属性2. 获取某属性的值svn pg PropertyNam

2017-08-09 14:58:23 2007

转载 svn 命令行下常用的几个命令

1、将文件checkout到本地目录    svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domain    简写:svn co 2、往版本库中添加新的文件    svn add file   例如:svn add test.php(添加test.php)

2017-08-09 13:55:55 329

转载 Linux 连续执行多条命令的方法

多个命令可以放在一行上,其执行情况得依赖于用在命令之间的分隔符。如果每个命令被一个分号 (;) 所分隔,那么命令会连续的执行下去,如:引用beyes@linux-beyes:/proc> printf "%s/n" "This is executed" ; printf "%s/n" "And so is this"This is executedAnd so is

2017-08-04 09:27:02 717

转载 Linux 获取系统时间

1.时间表示 在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果。这个时候我们可以使用下面两个函数 time_t time(time_t *tloc);                    //时间精度为秒char *ctime(const time_t *clock);            //将秒数转化为字符串 time函数返回从1970年1月1日

2017-07-28 11:47:28 441

转载 C语言开源项目及c++库大全

安装 GTK 环境Ubuntu命令sudo apt-get install gnome-core-devel   sudo apt-get install libglib2.0-doc libgtk2.0-doc   sudo apt-get install devhelp   sudo apt-get install glade-gnome glade-common glade-

2017-07-26 15:29:05 2910

转载 Linux信号列表

我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV

2017-07-26 15:24:44 288

转载 NDEBUG 、DEBUG宏 和assert() 的用法

一、NDEBUG 和 DEBUG宏的用法     1、NDEBUG宏是Standard C中定义的宏,专门用来控制assert()的行为。如果定义了这个宏,则assert不会起作用。#ifdef NDEBUG#define assert(x) ((void)0)#else...2、C Standard中规定了assert以宏来实现。被设计来可以被多次包含,其

2017-07-26 11:29:41 20707

转载 tcpdump抓包工具各参数详解

tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root

2017-07-19 16:10:29 2430

转载 Linux tcpdump命令详解

简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tcpdum

2017-07-18 11:38:59 428

原创 Linux下使用代码版本库:svn和git

SVN:1、安装SVN:sudo apt install subversion2、检出: svn checkout 地址3、上传新文件:svn add 文件名                           svn commit -m "备注"4、修改代码:直接输入:svn commit -m "备注"5、删除文件:svn delete 文件名

2017-07-14 11:41:31 995

转载 Linux命令之:SCP 命令

linux之cp/scp命令+scp命令详解   名称:cp使用权限:所有使用者使用方式:cp [options] source destcp [options] source... directory说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。把计-a 尽可能将档案状态、权限等资料都照原状予以复制。-r 若 source 中含有目录名,

2017-07-13 17:23:32 383

转载 ucontext-人人都可以实现的简单协程库

1.干货写在前面协程是一种用户态的轻量级线程。本篇主要研究协程的C/C++的实现。首先我们可以看看有哪些语言已经具备协程语义:比较重量级的有C#、erlang、golang*轻量级有python、lua、javascript、ruby还有函数式的scala、scheme等。c/c++不直接支持协程语义,但有不少开源的协程库,如:Protothread

2017-07-12 16:01:27 337

转载 每天一个linux命令(13):less 命令

转自:http://www.cnblogs.com/peida/archive/2012/11/05/2754477.htmlless 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用

2017-07-12 14:01:04 226

转载 Linux下使用git命令及github项目

在linux下搭建git环境1、创建Github账号,https://github.com2、Linux创建SSH密钥:[plain] view plain copyprint?ssh-keygen  ##一直默认就可以了  ssh-keygen ##一直默认就可以了3、将公钥加入到Github账户信息Account Setti

2017-07-10 18:02:02 608

转载 Linux makefile 教程 非常详细,且易懂

最近在学习Linux下的C编程,买了一本叫《linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。           后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比

2017-07-10 16:04:39 493

空空如也

空空如也

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

TA关注的人

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