![个人头像照片](https://ucc.alicdn.com/avatar/2rn4u5bno7pi6_4275d3ca68464cf497c577f412524d8b.jpg)
既然选择远行,便只顾风雨兼程!
暂时未有相关通用技术能力~
阿里云技能认证
详细说明下载xrld。要对应合适的python版本; 下载tar.gz包。解压 通过cmd进入该目录。 setup.py build setup.py install 安装成功; 添加路径: from sys import pathpath.
转自《http://www.cnblogs.com/dkblog/archive/2012/03/27/2419010.html》 Protobuf语言指南 Protobuf语言指南 l 定义一个消息(message)类型 l 标量值类型 l Optional 的字段及默认值 ...
合法的python标识符: python标识符字符串规则和其他大部分用c编写的高级语言类似: 第一个字符必须是字母或是下划线; 剩下的字符可以是字母和数字或下划线; 大小写敏感: _xxx 不用“from module import * ”导入; _xxx_ 系统定义名字; _xxx 类中的私有变量名 ; 文档Python 还提供了一个机制,可以通过__doc__特别变量,动态获得文档字串。
《转自:http://www.cnblogs.com/-clq/archive/2012/01/29/2330827.html》 Linux curl使用简单介绍[日期:2008-01-29] 来源:Linux公社 作者:notechCurl是Linux下一个很强大的http命令行工具,其功能十分强大。
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和 C++语言完全兼容的情况下,给出主机或操作系统专有的特征。
1、头文件 #include 2、功能 设置某一信号的对应动作 3、函数原型 typdef void (*sighandler_t )(int); sighandler_t signal(int signum, sighandle_t handler); 第一个参数是目标信号; 第二个参数是一个函数指针,指向某个处理该信号的函数。
Glog的简单入门,glog虽然在配置参数方面比较麻烦,但是在小规模程序中,由于其简单灵活,也许会有优势。 0, glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活,而且功能也比较完善。
/etc/ld.so.conf 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径。 默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,而通常通过源码包进行安装时,如果不指定--prefix会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加/usr/local/lib这个目录>。
分析: 其思路是用一维数组做,实际上用的是两个一维数组a[], b[].其中a[]是保存当前行各元素的值, 而b[]可以认为是一个临时数组, 它是a[]的一个备份, 也就是说在每行a[]元素置数完毕后,将a[]中的内容拷贝到b[]中,因为进行下一行的运算时, a[]会被重置, 而且由杨辉三角的规律知下一行要用到上一行的元素, 这样在计算下一行的a[]时就可以用保存在b[]中的上一行的元素了(咋感觉这么啰嗦呢^_^)。
pkg-config的用法 pkg-config pkg-config程序是干什么用的?简单的说就是向用户向程序提供相应库的路径、版本号等信息的程序。 譬如说我们运行以下命令:pkg-config 查看gcc的CFLAGS参数 $pkg-config --libs --cflags opencv 会显示如下信息: -I/usr/include/opencv -lcxcore -lcv -lhighgui -lcvaux 各位看官,你看这不就是我们用gcc编译连接时CFLAGS的参数吗? 因此当我们需要编译连接某个库时,我们只需要把上面那行加入gcc 的参数里面即可。
A a; A * a = new a(); 以上两种方式皆可实现类的实例化,有new的区别在于: 1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。
正则表达式元字符正则表达式语言由两种基本字符类型组成:原义(正常)文本字符和元字符。元字符使正则表达式具有处理能力。元字符既可以是放在 [] 中的任意单个字符(如 [a] 表示匹配单个小写字符 a ),也可以是字符序列(如 [a-d] 表示匹配 a 、 b 、 c 、 d 之间的任意一个字符,而 \w 表示任意英文字母和数字及下划线),下面是一些常见的元字符: . 匹配除 \n 以外的任何字符(注意元字符是小数点)。
在linux中一个重要的概念:一切都是文件。也就是说linux运行的核心就是对于文件系统的操作; linux或者说unix是怎么对文件进行操作的,系统是怎么记录文件的?当新建文件和目录的时候系统干了什么? 对于这些问题我觉得还是一步一步来: 首先得说说的是物理设备(磁盘:放置所有数据的地方) 大家肯定知道磁盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。
bash shell 用一个称作环境变量(environment variables)的特性来存储有关shell会话和工作环境的信息; 先用:echo $PATH 查看path是否含有:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 如果没有先用临时环境变量(重启后消失)#export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin然后就可以用那些命令了,进去修改永久环境变量:1。
1.下载地址:http://ftp.gnu.org/pub/gnu/emacs/ 下载文件:emacs-24.2.tar.gz 步骤: 一、安装依赖文件: (先进入root:终端中输入 su -) yum -y groupinstall "Development Tools" ...
vim中执行shell命令,有以下几种形式 (1) :!command 不退出vim, 并执行shell命令command, 将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 (2) :r !command 将shell命令command的结果插入到当前行的...
进程间通信至少可以通过传送打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里,都使用了这种方法。但一般说来,进程间 通信(IPC:InterProcess Communication)不包括这种似乎比较低级的通信方法。
进程就是处于执行期的程序(目标码存放在某中介质上)。进程并不仅仅局限于一段可执行程序代码,通常还包括其他资源,例如打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间以及一个或多个执行线程,当然还包括用来存放全局变量的数据段等; 线程是在进程中活动的对象,每个线程都拥有一个独立的程序计数器、进程栈、一组进程寄存器。
pthread_join使一个线程等待另一个线程结束。 代码中如果没有pthread_join;主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。
代码自动补全和代码跳转阅读,应该是作为程序员最常用的功能之一了,具体二者是指什么我就不解释了。微软的Visual Studio就是靠这两样必杀技牢牢占据着广大windows程序员的心(这里面要有强大的VS插件Visual Assistant X一份功劳)。
关于这个问题不得不涉及到 堆 和 栈的区别 1. 内存分配 一个有c/c++编译的程序占用的内存分为以下几个部分 (1). 栈区(stack)--------由编译器自动分配释放, 存放函数的参数,局部变量的值等。
在了解虚拟文件系统之前,必须先知道什么是 Kernal Space 与 User Space。 Kernal Space 与User Space 的差别,在于内存使用上安全机制的差异。 kernal执行时会占据一段系统的内存空间, 这一段内存空间便是Kernal Space. 所有用户是无法和kernal space 直接交互的。
---恢复内容开始--- fork函数 该函数是unix中派生新进程的唯一方法。 #include pid_t fork(void); 返回: (调用它一次, 它返回 两次 , 它在调用进程(称为父进程)中返回一次, 返回值是新派生进程(称为子进程)的进程ID号 在子进程又返回一次,返回值为0。
常用的网络命令: netstat 命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息。 netstat有许多的选项我们常用的选项是-an用来显示详细的网络状态。至于其它选项我们使用帮助; telnet telnet是一个用来远程控制的程序,但是我们请完全可以用这个程...
C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。 宏(双下滑线) 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表当前源代码文件名的字符串文字 __LINE__ 代表当前源代码中的行号的整数常量 __TIME__ 源文件编译时间,格式微“hh:mm:ss” __func__ 当前所在函数名 对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。
1、epoll_create函数 函数声明:int epoll_create(int size) 该 函数生成一个epoll专用的文件描述符。它其实是在内核申请一空间,用来存放你想关注的socket fd上是否发生以及发生了什么事件。
I/O 流: 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。
基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。
LibCurl是免费的客户端URL传输库,支持FTP,FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE ,LDAP等协议,其主页是http://curl.haxx.se/。
原型: void * realloc(void *p, size_t size); realloc 可以对给定的指针所指的空间进行扩大 或者 缩小, 原有内存的数据保持不变。当然,对于缩小,则缩小部分的那一部分的内容会丢失; realloc 并不保证调整后的内存空间 和原来的内存空间保持同一内存地址。
typedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人 不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#define int PARA几乎一样,如前面几章所述,这些教材的宗旨是由浅入深,但实际做出来的行为却是以偏盖全。
1.安装curl wget http://curl.haxx.se/download/curl-7.26.0.tar.gz tar -zxvf curl-7.26.0.tar.gz cd curl-7.
在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死。在 被其他线程回收之前,它的存储器资源(例如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。
在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件除了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式。原因是:(1)没有类似rpm那样让人恼 火的包依赖关系,(2)源码安装灵活自由,适用于不同的平台,维护也十分方便。
线程概述: 其实在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统copy了一个和原先进程完全一样的进程,并在这 个进程中执行线程函数。不过这个copy过程和fork不一样。
http://blog.csdn.net/lanyan822/article/details/7586845 POSIX线程数据类型: pthread_t 线程标识符; pthread_mutex_t 互斥量; pthread_codet_t 条件变量; pth...
回调函数:顾名思意,就是使用者自己定义一个函数,使用者自己定义这个函数的功能,然后把 这个函数作为参数 传入到 其他函数 中,由 其他函数 在运行时来调用的函数。该“其他函数”就是回调函数(特点:它 主动调用 别的函数) 什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函 数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,那么这就是回调机制。
linux平台下想同时运行多个操作,执行多个程序或命令;命令行就一个,要想同时执行多个命令如何操作? 一个screen命令即可; Centos操作系统默认没有安装screen; 安装方法: Centos: yum install screen 功能介绍: screen命令用于新建一个或多个“命令行“窗口”, 在新建的这个”窗口“中, 可以执行命令;每个”窗口“都是独立并行的; 使用方法: 新建一个“控制台“窗口”: screen -S 控制台窗口名 控制台窗口名是自己定义的; 回车后便进入了这个新建的控制台。
涉及linux平台下ctags, taglist插件 ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置。 ctags支持很多语言,比如java, c, c++, python, perl, php, ruby, scheme, tcl, vim, yacc, bash/kron shell/zsh, cobol, awk, asp, lisp, pascal等等,几乎流行的语言全都支持。
string append() 1.直接添加另一个完整的字符串: str1.append(str2); 2.添加另一个字符串的某一段字串: str1.append(str2, 11, 7); //添加str2中第11字符之后的7个字符 3.
cmake是一款生成makefile的软件;在生成makefile之前,首先是写一个CMakeLists.txt文件; 以下为典型例子: 先看目录tree, 在test文件夹中有:include目录, source目录, 以及main.
void *memccpy (void *dest, const void *src, int c, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。