lex编译dos命令_解决lex.yy.c文件在vs2012下编译生成exe

编译课上面,老师要求用flex把 .l 文件生成 .c 文件,然后和库文件libfl.lib放到同一个vc6工程里面生成一个exe文件

可是现在我用的win8系统,对vc6不支持。。

所以看了一下在vs2012下生成exe的方法

首先,把生成的.c文件放到工程里面

源文件 添加 现有项 找到 libfl.lib 加进去

在c代码开头加上

#pragma comment(lib, "libfl.lib")

#pragma comment(linker,

"/NODEFAULTLIB:LIBC.lib")

另一种方法:

修改项目属性:属性->链接器->输入下:附加依赖项加入libfl.lib的路径;忽略特定库加入:LIBC.lib。

然后,在c代码里面ctrl + F找一下fileno,改成_fileno,注意加了个下划线

ctrl + F5可以跑了。。

另外

附上整个编译过程

(一) 目录介绍

在本实验目录中,包括两个子目录。

1、子目录 flex

它包含了 flex.exe, flex.hlp, libfl.lib 三个文件,另外还有一个例子文件 example.l 及该例子生成的

lex.yy.c。

2、子目录 lex_yy

这个目录是为 lex.yy.c 建立的一个项目(使用 VC6)。它包含有 lex.yy.c, libfl.lib (拷贝自目录

flex),以及相关的项目文件。在debug 子目录中是已经生成的 词法分析器 lex.yy.exe, 利用它可以进行词法分析。

(二)实验示范

1、编写 lex 程序,如 example.l 文件所示

2、调用 flex 以生成 lex.yy.c, DOS命令格式: flex <

example.l

3、新建一个目录(如 lex_yy), 把lex.yy.c 及 libfl.lib

拷贝到该目录下。

4、用VC6打开lex.yy.c,并生成一个新项目。

5、编译并链接libfl.lib, 得到词法分析器

debug/ley.yy.exe。

6、验证词法分析器的功能:

1)编写一输入文件(如lex_yy/debug/12.txt)

2) 调用

lex.yy.exe(DOS 命令格式 lex.yy.exe < 12.txt )

3) 观察输出结果是否与预想的相符。

原文:http://www.cnblogs.com/phoenix-route/p/3641755.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值