使用VS将postgres.exe转换为dll文件

4 篇文章 0 订阅
1 篇文章 0 订阅

一、准备工作:
1、编译完成的pgsql源码;编译方法请参照博客:https://blog.csdn.net/u012867993/article/details/102466086。编译完成后的程序结构如下图:
在这里插入图片描述
2、下载win_flex_bison-latest.zip,进行词法解析和语法 解析工作。
二、配置安装win_flex_bison-latest.zip。VS重新编译的时候,不能生成词法解析和语法解析的.c文件。可以尝试重新生成,根据报错信息配置以下内容。下载地址:网址:https://sourceforge.net/projects/winflexbison/
1、将win_flex_bison-latest.zip解压
在这里插入图片描述
2、向工程中添加win_flex_bison-latest的targets文件
选择项目,右键生成依赖项,生成自定义。
在这里插入图片描述
添加现有的targets文件
在这里插入图片描述
选择添加后的文件,打√。

3、VS配置win_flex_bison-latest执行文件
选择项目,右键属性,选择VC++目录,选择可执行文件目录
在这里插入图片描述
点击编辑,选择win_flex_bison-latest根目录
在这里插入图片描述
4、配置语法解析Bison(.y文件)和词法解析flex(.l)
选择.y后缀的文件,以gram.y为例。
选择文件,右键属性,弹出的属性页中选择常规–》项类型
,项类型选择bison文件。点击右下角应用。
在这里插入图片描述
点击应用后发现配置属性常规下变为bison files。
选择bison files,选择bison Options,修改生成的头文件和c文件
在这里插入图片描述
点击确定,完成配置。
词法解析同理,选择.l文件,选择flex files,修改生成的头文件和源文件。
三、将原exe文件修改为dll文件。
1、配置dll文件
选择项目,右键属性,选择常规,项目默认值,配置类型,将exe修改为dll动态库。
在这里插入图片描述

2、配置输出文件地址和属性
在这里插入图片描述
输出目录: ( S o l u t i o n D i r ) (SolutionDir) (SolutionDir)(Configuration)
中间目录: ( P r o j e c t N a m e ) . (ProjectName). (ProjectName).(Configuration)
目标文件名:$(ProjectName)

在这里插入图片描述
输出文件: ( O u t D i r ) (OutDir) (OutDir)(ProjectName)_d.dll

3、修改源码函数,支持函数导出
源码函数中增加
__declspec(dllexport) 标记,表示支持导出函数
在这里插入图片描述
四、生成dll文件
点击项目,右键重新生成
在这里插入图片描述
生成成功:
在这里插入图片描述
生成路径为:源码位置/debug/输出文件名
如:D:\workspace_c\postgresql-11.5\Debug\postgres_d.dll

生成dll文件完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值