自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (7)
  • 收藏
  • 关注

原创 学习makefile笔记

1. target files : depend files 书写规则建议的方式是:单目标,多依赖。就是说尽量要做到一个规则中只存在一个目标文件,可有多个依赖文件。 尽量避免使用多目标,单依赖的方式.objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.oedit : $(...

2018-04-28 16:39:27 241

转载 linux 动态库和静态库分析实例

今天忙着编译库文件,中间遇到不少问题,看到这篇文章不错,就转载过来了,后面我会整理下今天的问题,从网上下载了一个开源库,如何进行编译,如何加载到我们的工程中。今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情。      在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生...

2018-04-28 11:35:33 1146

转载 linux ldd 命令

转载: https://blog.csdn.net/stpeace/article/details/47069215在linux中, 有些命令是大家通用的, 比如ls, rm, mv, cp等等, 这些我觉得没有必要再细说了。 而有些命令, 只有开发人员才会用到的, 这类命令, 作为程序员的我们, 是有必要了解的, 有的甚至需要熟练使用。        有的人总说, 这些命令不重要, 用的时候去查...

2018-04-28 11:18:23 1036

转载 linux ar 命令

当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍命令ar,用来对库操作。1.ar基本用法  ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留...

2018-04-28 11:03:17 239

转载 Configure自动配置脚本解析

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对基础的熟...

2018-04-28 10:08:34 911

原创 make 自动化变量全解

10.5.3 自动化变量模式规则中,规则的目标和依赖文件名代表了一类文件名;规则的命令是对所有这一类文件重建过程的描述,显然,在命令中不能出现具体的文件名,否则模式规则失去意义。那么在模式规则的命令行中该如何表示文件,将是本小节的讨论的重点。假如你需要书写一个将.c文件编译到.o文件的模式规则,那么你该如何为gcc书写正确的源文件名?当然了,不能使用任何具体的文件名,因为在每一次执行模式规则时源文...

2018-04-27 14:08:26 640

原创 make的执行过程

make 的执行过程如下:1. 依次读取变量“ MAKEFILES”定义的 makefile 文件列表2. 读取工作目录下的 makefile 文件(根据命名的查找顺序“ GNUmakefile”,“ makefile”,“ Makefile”,首先找到那个就读取那个)3. 依次读取工作目录 makefile 文件中使用指示符“ include”包含的文件4. 查找重建所有已读取的 makefil...

2018-04-27 11:28:48 1990

原创 Makefile包含的五大模块

摘要.在一个完整的 Makefile 中,包含了 5 个东西:显式规则、隐含规则、变量定义、指示符和注释.1.显示规则:它描述了在何种情况下如何更新一个或者多个被称为目标的文件( Makefile 的目标文件)。书写 Makefile 时需要明确地给出目标文件、目标的依赖文件列表以及更新目标文件所需要的命令(有些规则没有命令,这样的规则只是纯粹的描述了文件之间的依赖关系)2.隐含规则:它是make...

2018-04-27 09:16:14 1184

原创 修改rm命令防止root,用户误删数据,增加回收站功能

摘要:看到rm 就害怕,再加个-rf就能吓死人,  呵呵如果你再加个* 号,手一抖再加个空格 .让你体验一把一无所有的感觉.1.打开.bashrc (最好进入root,在etc/profile文件加入代码,对整个系统有效,不仅仅是root)vim ~/.bashrcvim /etc/profile2.增加如下代码:alias RM='/bin/rm -i'alias rm=deletecmd...

2018-04-26 13:39:21 617

原创 makefile = := ?= += 的区别

摘要:一个词概括." =”(递归)、“ :=”(静态)、“ +=”(追加) “? =”(条件)   1、“=”      make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子: x = foo y = $(x) bar x = xyz      在上例中...

2018-04-26 11:16:33 109

转载 flex 与 bison 实现简单的计算器

一 环境配置WindowsUbuntuflexbison1 使用WindowsCodeBlocksflexbison的环境有两种方式方式1 借助codeblcoks编译运行方式2 配置MinGW直接在cmd下编译运行2 使用Ubuntuflexbison的环境来编译运行二 一个简单的示例代码calcSimple下载calclcalcy三 把 calcSimple 修改成 完整版的计算器 全攻略四 ...

2018-04-25 16:35:04 2852

转载 FFmpeg+SDL2.0简单视频播放器(注释详细)

8代码来源于雷神博客,作为学习又敲了一遍,并添加了详细注释加深理解。链接:https://blog.csdn.net/leixiaohua1020/article/details/38868499至于环境配置可以翻看我的前一篇博客。[cpp] view plain copy// FFmpeg_Test1.cpp : 定义控制台应用程序的入口点。  //  #include "stdafx.h"  ...

2018-04-24 17:02:20 349

原创 rm -rf * extundelete,foremost恢复文件,修改rm命令.

摘要: 这个命令让我体会到了什么叫做一不小心就一无所有.           文件恢复的原理:首先简单介绍一下Linux文件系统的最基本单元:inode。inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是block,block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、...

2018-04-24 16:25:34 2480

原创 C语言 strtol() 函数实例讲解

1.函数类型:Name: strtolPrototype: long int strtol (const char *restrict string, char **restrict tailptr, int base)Description:The strtol (``string-to-long'') function converts the initial part of strin...

2018-04-24 14:35:51 4797

转载 Git命令大全

一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin git@192.168.1.119:ndshowgit push origin m...

2018-04-23 15:17:11 131

原创 C语言排除空格

1.字符串空格的长度,函数.  返回空格的int数目大小static intstrspace_len(char *str){ int len = 0; while (*str && isspace((unsigned char) *str)) { str++; len++; } return len;}2.  移动字符串指针.排除空格.char **...

2018-04-23 13:35:04 638

原创 三目运算支持嵌套

上源码:case DCH_MS: /* millisecond */ len = from_char_parse_int_len(&out->ms, &s, 3, n); /* * 0.25 too; 025 is 0.025 and not 0.25 */ out->ms *= len == 1 ? 100 :len == 2 ? 10 : 1;...

2018-04-23 12:22:40 1567

原创 Makefile:94: recipe for target 'install-***-recurse' failed 解决方法

1.当安装postgresql插件扩展时,contrib下面make&make install出现下面错误信息.make -C test installmake[1]: *** test: 没有那个文件或目录。 停止。Makefile:94: recipe for target 'install-test-recurse' failedmake: *** [install-test-...

2018-04-23 09:30:01 27653 1

转载 QT 中 关键字讲解(emit,signal,slot)

Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法。作为一种通用的处理机制,信号与反应槽非常灵活,可以携带任意数量的参数,参数的类型也由用户自定。同时其本身也是类型安全的,任何一个从QObject或其子类继承的用户类都可以使用信号与反应槽。     信号的作用如同Windows系统中的消息。在Qt中,对...

2018-04-17 20:37:59 536

转载 QT 的信号与槽机制介绍

         QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT 库的基础之上。QT 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、...

2018-04-17 15:28:01 140

转载 用CMake 构建Qt 项目

译:用CMake构建Qt项目作者: Johan Thelin  译者:赖敬文原链接:http://developer.qt.nokia.com/quarterly/view/using_cmake_to_build_qt_projects翻译来源:http://blog.csdn.net/jingwenlai_scut          QtSDK中已经包含了QMake用于处理跨平台的编译问题。然...

2018-04-16 21:43:12 1014

原创 linux Qt创建项目, No valid kits found

终端命令:sudo apt-get install qt5-default参考:https://blog.csdn.net/aseity/article/details/55095052

2018-04-16 16:49:33 787

转载 C语言中的static 详细分析

    google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。         C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,...

2018-04-13 15:46:03 136

原创 其他源文件无法调用隐函数,warning: implicit declaration of function

摘要:所谓的隐函数就是只在本.c,或者.cpp文件中声明(没在头文件中声明的函数)的函数. 对于其非本文件的称之为隐世函数.  万恶之源:C语言中的隐式函数声明 今天在调用postgresql源码中get_rel_name()函数时,不小心调用了隐函数get_relation_name();出现delrelation_record.c:70:16: warning: implicit declar...

2018-04-13 15:43:46 738

原创 postgresql Hook机制加实例详解

摘要:Hook,wiki说明文档:               hook实际上就是static 的函数指针.hook工作原理:每一个hook是由一个全局性的函数指针构成的。服务端进行运行初始化其为NULL,当数据库必须调用的时候,首先会检测是否为NULL,不是则优先调用函数,否则执行标准函数。设置函数指针:当数据库载入共享库时,首先会将其载入到内存中,然后执行一个函数调用_PG_init。这个函数...

2018-04-12 16:57:30 2781

原创 PostgreSQL编写记录删除表格信息的Extension扩展

摘要:因为作者水平有限,暂且只是测试Extension扩展用例,           一个典型的extension包含多个SQL对象。举个例子,如果我们创建一个新的数据类型(data type),那可能同时还需要与之相关的新函数(function)、新的操作符(operator)以及新的索引类型(index operator class)等,为了简化数据库管理,我们可以把这个新的数据类型以及所有与...

2018-04-12 16:00:42 5405

转载 PostgreSQL 加载动态库详解

转载:https://yq.aliyun.com/articles/8235摘要: PostgreSQL 支持通过动态库的方式扩展PG的功能,在调用动态库涉及的函数时会自动加载这些库。但是某些动态库可能需要预加载,例如使用了hook的动态库,或者是需要初始化共享内存,需要fork work process的动态库。举个例子:pg_stat_statements这个插件依赖的动态库.PostgreS...

2018-04-12 15:53:41 2156

原创 postgresql扩展test--sql复制出现错误.

摘要:坑是要有的,也是必须要跳的,但跳下去的时候,要勇敢的再爬上来.首先确定一点Extension 中的Makefile错误是本文的根源.make install时 下面是错误的输出结果:me@me:~/Desktop/postgresql-10.1/contrib/test$ make installmake -C ../../src/interfaces/libpq allmake[1]:...

2018-04-12 12:17:02 281

原创 postgresql写单行函数时出现Wrong number of attributes in DATA() entry at ../../../src/include/catalog/pg_proc

1.oid设置重复.2.参数的缺少以及多余

2018-04-12 11:03:00 253

原创 linux 终端使用快捷键

ctrl + alt + T 新建终端(debian)Shift+Ctrl+T:新建终端Shift+Ctrl+W:关闭终端Ctrl+PageUp:前一终端Ctrl+PageDown:后一终端Shift+Ctrl+PageUp:上一面Shift+Ctrl+PageDown:一面Alt+1:切换到终端1Alt+2:切换到终端2Alt+3:切换到终端3Shift+Ctrl+N:新建窗口Shift+Ctr...

2018-04-12 09:06:16 195

转载 PostgreSQL 外部动态连接库魔法块的使用

装载:https://my.oschina.net/quanzl/blog/136907最常见的一种方式 CREATE FUNCTION c_overpaid(emp, integer) RETURNS boolean AS 'os_libpath', 'c_funcname' LANGUAGE C STRICT;文档中提到两种调用习惯 V0 和 V1,从代码里边看,V0已经不再支...

2018-04-09 14:51:44 917

原创 PostgreSQL 扩展Extension 简单小实例

摘要:PostgreSQL被设计为易于扩展.PostgreSQL引入了一种方式来安装contrib模块,称为扩展(extensions)。此方法适用于所有使用扩展规范构建的contrib模块,包括如下:扩展SQL文件( extension_name.sql )扩展控制文件 ( extension_name.control )扩展库文件(extension_name.so)1.首先进入源码中的con...

2018-04-09 14:35:16 4253 1

原创 解决shell出现asn1 encoding routines:ASN1_mbstring_ncopy:string too short.

1.出现问题:./create.sh Generating a 2048 bit RSA private key...................................................................+++.......................................................+++writing new ...

2018-04-08 17:36:33 7439

原创 psql出现WARNING: psql version 9.2, server version 2.0. Some psql features might not work.

原因是打开两个服务,关掉服务重启服务.me@me:/opt/HighGo/Develop/bin$ ./psql highgoPassword: psql (2.0.1, server 9.5.12)WARNING: psql version 9.2, server version 2.0.         Some psql features might not work.-----------...

2018-04-08 17:24:46 1134

转载 postgressql扩展开发

扩展开发的基本组成转载:https://www.cnblogs.com/lujunfeng/p/6092608.htmldemo--1.0.sqldemo.cdemo.controlMakefiledemo.c当中包含了自定义函数的实现,纯C语言,目录下可包含多个.c文件。demo—1.0.sql对自定义函数的声明,在pg启动的时候会执行这个sql。demo.control这个应该是版本控制,以及...

2018-04-08 16:22:11 417

转载 PostgreSQL之 使用扩展Extension

摘要:转载自:https://blog.csdn.net/pg_hgdb/article/details/79490509   by 波罗PostgreSQL被设计为易于扩展。因此,加载到数据库中的扩展功能就可以像内置的特性一样运行。与源代码一起发布的contrib/ 目录包含一些扩展。扩展是独立开发的,比如PostGIS。甚至PostgreSQL复制解决方案也可以在外部开发。例如,Slony-I...

2018-04-08 15:56:43 2120

转载 德哥的PostgreSQL私房菜 - 史上最牛皮的PG资料合集

转载:https://yq.aliyun.com/articles/59251?spm=5176.100239.bloglist.95.5S5P9SPostgreSQL摘要: 看完并理解这些文章,相信你会和我一样爱上PostgreSQL,并成为PostgreSQL的布道者。 沉稳的外表无法掩饰PG炙热的内心 。 扩展阅读,用心感受PostgreSQL 内核扩展 《找对业务G点, 体验酸爽 - Po...

2018-04-08 14:26:54 2464

转载 Linux系统下Makefile全解(下)

六、多行变量 还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量。因为命令需要以[Tab]键开头,所以如果你...

2018-04-08 14:15:41 368

转载 Linux系统下Makefile全解(上)

本文转载自:陈皓URL:https://blog.csdn.net/haoel/article/details/2886跟我一起写 Makefile 陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编...

2018-04-08 14:02:23 955

原创 Ubuntu 安装VMware Tools 出现what is the location of the “ifconfig”program on your machine

1.# sudo apt-get update# sudo apt-get install net-tools./vmware-install.pl或者出现what is the location of the “ifconfig”program on your machine,在后面输入yes。最后重启系统。

2018-04-08 09:39:39 3924 1

SELinux文档

SELinux文档详解,系统的介绍了SELinux版本,以及规则语法.入门教程,参考手册.

2018-05-23

setools工具包

SETools包含许多SELinux策略分析工具,包括图形和命令行。

2018-05-23

PostgreSQL Extension扩展实例

PostgreSQL Extension扩展时间定时实例,利用pg自身的时间截断函数date_trunc(),所开发.

2018-05-21

flex与bison(中文版)

该书详细介绍了flex:词法分析器 ,bison语法分析器.仅供参考,禁止商业用途.

2018-04-25

postgresql-10.1

PostgreSQL10-1源码,仅供开发学习使用,禁止违规违法使用.可以从本博客中学习安装编译方法.

2018-04-25

PostgreSQL-10.1开发手册(英文版)

postgresql10-1英文原版开发手册,适合人群:数据库开发人员,DBA,以及Postgresql使用用户.

2018-04-25

空空如也

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

TA关注的人

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