SYNOPSIS

ecpg [ option...] file...

DESCRIPTION 描述

ecpg 是一个嵌入的用于C 语言的 SQL 预编译器。 它把嵌有 SQL 语句的 C 程序通过将 SQL 调用替换成特殊的函数调用的方法转换成普通的 C 代码。 然后输出的文件就可以用任何 C 编译工具进行处理。

clusterdb 将把命令行上给出的每个输入文件转换成对应的 C 输出文件。 输入文件最好有 .pgc 的扩展名, 这样,这个扩展将被替换成 .c 来决定输出文件名。 如果输入文件的扩展不是 .pgc,那么输出文件名将通过在全文件名后面附加 .c 来生成。 输出文件名也可以用 -o 选项覆盖。

本手册页并不描述嵌入的 SQL 语句,参阅 Chapter 29 获更多信息。

OPTIONS 选项

clusterdb 接受下列命令行参数:

-c
 为 SQL 代码自动生成某种 C 代码。目前,这个选项可以用于 EXEC SQL TYPE。
-C mode
 设置一个兼容模式。mode 可以是 INFORMIX 或者 INFORMIX_SE。
-D symbol
 定义一个 C 预编译器符号。
-i
 同时也分析系统包含文件。
-I include-path
 声明一个附加的包含路径。用于寻找通过 EXEC SQL INCLUDE 包含的文件。缺省是 .(当前目录), /usr/local/include, 在编译时定义的PostgreSQL 包含路径(缺省: /usr/local/pgsql/include)和 /usr/include。顺序如上。

-o filename
 声明ecpg应该把它的所有输出写到给出的 filename里。
-t
 打开自动提交模式。在这种模式象,每个查询都自动提交, 除非它是包围在一个明确的事务块中。在缺省模式下, 命令只是在发出 EXEC SQL COMMIT 的时候提交。

-v
 打印额外的信息,包括版本和包含路径。
--help
 显示一个命令用法的简单摘要,然后退出。
--version
 显示版本信息,然后退出。

NOTES
注意

在编译预处理的 C 代码文件的时候,编译器需要能够找到 PostgreSQL 包含目录里面的 ECPG 头文件。因此,我们在调用编译器的时候可能需要使用 -I  (比如,-I/usr/local/pgsql/include)。

 使用了嵌入 SQL 的 C 代码必须和 libecpg 库链接,比如,使用这样的链接选项: -L/usr/local/pgsql/lib -lecpg

 这些目录的实际值可以通过 pg_config(1) 找到。

EXAMPLES 例子

如果你有一个叫 prog1.pgc 的嵌入 SQL 的 C 源代码,你可以用下面的命令序列创建一个可执行程序:

ecpg prog1.pgc
cc -I/usr/local/pgsql/include -c prog1.c
cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg

ecpg - 嵌入的 SQL C 预处理器的更多相关文章

  1. C#预处理器指令 ,你造吗??? (●'◡'●)

    什么是c#预处理指令?? 用于在 C# 源代码中嵌入的编译器命令. C#预处理器指令有哪些?? ↓↓↓这些就是预处理器指令啦 下面我们一一道来(●'◡'●) 1.#if ,#elif,#else,en ...

  2. PHP (超文本预处理器)

    PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超为本预处理器")是一种通用开源脚本语言.语法吸收了C语言.java和Rerl的特点,利于学习,使 ...

  3. Microsoft Visual C++ 6.0预处理器参考手册

    返回总目录 Microsoft Visual C++ 6.0 预处理器参考手册 目录引言........................................................ ...

  4. css预处理器sass学习

    SASS 叫做css预处理器,他的基本思想是用一门专门的编程语言来进行页面样式的设计,然后在编译成正常的css文件. Sass的用法 安装 sass是用ruby语言写的,所以我们在安装sass之前要先 ...

  5. 2016/3/10 PHP (超文本预处理器) 是什么?

    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于W ...

  6. 前端CSS预处理器Sass

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  7. css预处理器sass使用教程(多图预警)

    css预处理器赋予了css动态语言的特性,如变量.函数.运算.继承.嵌套等,有助于更好地组织管理样式文件,以及更高效地开发项目.css预处理器可以更方便的维护和管理css代码,让整个网页变得更加灵活可 ...

  8. C和指针 第十四章 预处理器 头文件

    编写一个C程序,第一个步骤称为预处理,预处理在代码编译之前,进行一些文本性质的操作,删除注释.插入被include的文件.定义替换由#define定义的符号,以及确定代码的部分内容是否应该按照条件编译 ...

  9. 关于前端CSS预处理器Sass的小知识!

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

随机推荐

  1. 修改RedHat的系统显示时间

    1.修改日期 date -s 12/21/2012 2.修改时间 date -s 15:14:00 3.检查硬件(CMOS)时间 clock -r 4.将系统时间写入CMOS clock -w 切记四 ...

  2. 各个版本Microsoft Visual C++运行库下载

    #Microsoft Visual C++ 2005 Microsoft Visual C++ 2005 Redistributable Package (x86) https://www.micro ...

  3. Objective-C中的字符串格式化输出(转载)

    转自:http://www.cnblogs.com/jackbutler/archive/2012/04/05/2432828.html %@ 对象 %d, %i 整数 %u 无符整形 %f 浮点/双 ...

  4. sql 日历

    /* Formatted on 2013/9/7 20:45:28 (QP5 v5.185.11230.41888) */ SELECT MIN (DECODE (TO_CHAR (DAYS, 'D' ...

  5. Codeforces277A 【dfs联通块】

    题意: 给出n个人会的语言类型,然后问这n个人里面还需要几个人学习一下语言就可以n个直接互通了.a会1,2,b会2,3,c会4,那么只要C学一下1或者2,或者3就好了...大致就是这个意思. 思路: ...

  6. bzoj 5498: [2019省队联测]皮配【dp】

    是个神仙dp-- 参考:https://www.luogu.org/blog/xzz-233/solution-p5289 设f[i][j][k]是前i个有限制的城市,所有学校中选蓝色阵营有j人,有限 ...

  7. bzoj 3230: 相似子串【SA+st表+二分】

    总是犯低级错误,st表都能写错-- 正反分别做一遍SA,预处理st表方便查询lcp,然后处理a[i]表示前i个后缀一共有多少个本质不同的子串,这里的子串是按字典序的,所以询问的时候直接在a上二分排名就 ...

  8. PJzhang:计算机本地密码提取工具LaZagne

    猫宁!!! 参考链接: https://www.4hou.com/tools/7404.html https://www.secpulse.com/archives/32189.html 在一个信息收 ...

  9. Django models数据库配置以及多数据库调用设置

    今天来说说web框架Django怎么配置使用数据库,也就是传说中MVC(Model View Controller)中的M,Model(模型). 简单介绍一下Django中的MVC: 模型(model ...

  10. autolayout UIImageView 根据 UILabel的宽度变换位置

    仅个人学习笔记,大牛勿喷 代码写法 使用Masonry //昵称 _nameLableView = [[UILabel alloc]init]; [_nameLableView setTextColo ...