博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

执着的小雨

  xiaoyuonline.cublog.cn

关于作者
姓名:小雨
职业:IT
年龄:25
位置:北京(为奥运加油!)
个性介绍:做最好的自己!
|| << >> ||
我的分类


如何在larbin中添加自己的类文件

请教:
我想在LARBIN里调用 别的C语言的函数不知道怎么办 
http://www.nacona.cn/PARSE.tar.gz  这是个c语言写的 HTML语法分析
在LARBIN里的 FIL.cc 有对HTML分析的部分,但不完善,我想在 LARBIN file.cc的 void html::parseHtml ()  函数里调用 PARSE.tar.gz里面的 BitToken.c的 void Bit_BeginToken(BitTokenContext *global_cx) 函数

我在LARBIN FILE.cc 加入

#include "BitHtml.h"
#include "BitToken.h"
#include "BitStr.h"
#include "BitTokenList.h"
#include "BitTokenAttrList.h"

并且 声明一个变量BitTokenContext *global_cx;
但MAKE DEBUG 说 
fetch/file.o: In function `html::parseHtml()':
/root/netbitlarbin/src/fetch/file.cc:539: undefined reference to `Bit_NewContext()'

我在网上查询 是因为 在C++里如果调用 C的函数需要告诉编译器
#ifdef __cplusplus
extern "C" {
#endif
在尾部添加:
#ifdef __cplusplus
}
#endif

但我在LARBIN 的 file.h 里加入这个说明 编译还是提示
fetch/file.o: In function `html::parseHtml()':
/root/netbitlarbin/src/fetch/file.cc:539: undefined reference to `Bit_NewContext()'

请帮忙 在你的LARBIN 里看看如何调用 Bit_BeginToken(BitTokenContext 

这个函数对HTML解析做得比较好,你真的可以研究一下 

Blog作者的回复:
需要在larbin.make里面添加一些东西。比如我加入Store类,需要做如下改动。
INTERF-OBJ:=input.o useroutput.o output.o Store.o
ABS-INTERF-OBJ:=interf/input.o interf/useroutput.o interf/output.o \
    interf/Store.o 

发表于: 2007-07-05,修改于: 2007-09-03 17:30,已浏览1046次,有评论4条 推荐 投诉


网友评论
网友: 催国际 时间:2007-07-05 14:07:15 IP地址:218.25.64.★
朋友回帖太快了 ,我先研究研究 

网友: 催国际 时间:2007-07-05 17:01:53 IP地址:218.25.64.★
#------------------------------------------------------- 
CC = gcc 

CFLAGS = -D_REENTRANT -Wall -Waggregate-return -g -O2

COMPILE = $(CC) $(CFLAGS) 

#--------------------------------------------------------
OBJS= BitFile.o BitStr.o BitHtmlDtd.o\
      BitToken.o BitTokenAttrList.o BitTokenList.o

#--------------------------------------------------------
parse.a: $(OBJS)
    ar cru parse.a $(OBJS) 
    ranlib parse.a


%.o: %.c 
    @echo '$(COMPILE) -c $<'; \
    $(COMPILE) -c $< 

#--------------------------------------------------------
clean :
    rm *.o -f    rm *.a -f    rm *.*~    rm *~

这个是 PARSE里的MakeFile的内容 
我把 
OBJS= BitFile.o BitStr.o BitHtmlDtd.o\
      BitToken.o BitTokenAttrList.o BitTokenList.o
COPY到 LARBIN的larbin.makE里 

又添加了 
BitFile.o:BitFile.c BitFile.h
    cc -c BitFile.c

但 MAKE时很快退出 
gmake[1]: Entering directory `/root/netbitlarbin/adns'
gmake[1]: *** 没有规则可以创建“BitFile.o”需要的目标“BitFile.c”。 停止。
gmake[1]: Leaving directory `/root/netbitlarbin/adns'
make: *** [debug] 错误 2

我查询了 GNU MAKE 添加 所需的依赖文件 也不行 
BitFile.o:BitFile.c BitFile.h
    cc -c BitFile.c

真的没有一点头绪 
我考虑 我想改 FILE。CC 那么应该在那里添加 。O

网友: 崔国际 时间:2007-07-06 16:59:33 IP地址:218.25.64.★
你的方法是正确的

但是如果 。C文件如果更改 ,则 。O文件是不能够 被重新编译的 

好在我不改源码 

今天用你的方法终于互通了 ,但要想无缝真的很难,看来这个解析器还是有点问题 ,我把 larbin poStr变量内容 传递给解析器 竟然出错  

网友: 本站网友 时间:2007-09-04 14:45:36 IP地址:222.64.7.★
15G空间=5个网站=500元/年 
http://www.abcnic.com/
可免费试用!赶快行动吧!
    有广告位的也M我啊!


  ☆15G全能空间年付500元/月付70元 可免费试用☆月流量500G!!!

【15G空间=5个网站=500元/年】 

全国第一家虚拟主机:支持伪静态.有利于提高排名!!!

详情咨询021-51695858   QQ:678500    MSN&E-Mail:jiadeniu@sina.com
官方网站  www.abcnic.com
ADD:上海市浦东新区金桥浙桥路289号建银大厦A座703-704

迅驰型虚拟主机(Windows系统) 
原价:1500元/年 
现价:¥500.00元/1年 
主机空间和流量(15GB 超大空间 + 500GB/月流量) 
5GB 独立WEB空间、5GB 企业邮箱空间、5GB MSSQL数据库 
IIS连接数据 500 个、500GB/月流量限制、共享日志文件空间 

 企业邮箱功能 
赠送5GB 超大企业邮箱,500个Email企业邮箱用户 
自动回复、自动转发、POP3、SMTP收发信、SMTP发信认证 
邮件过滤、邮件拒收、邮件夹管理、邮件域管理、定制邮件数 

 主机功能支持 
采用安全稳定的Win2003 .net2.0 架构 
支持ASP、PHP、ASP.NET、PERL等脚本、支持自定义CGI 
全面支持.net2.0版本,独立的Application应用池,支持SSI(Shtml),支持FrontPage扩展 
可免费自行绑定5个域名、500个解析、500个子域名 

 数据库功能 
支持5GB MSSQL数据库空间,5个用户数据库、Access 
网站空间功能概要
主机多域名绑定  MySQL 数据库   FTP/WEB文件管理  
独立DNS管理面板   网站流量统计   JSP/ASP/.Net/PHP 
POP/IMAP邮件  PLESK控制面板  虚拟主机管理界面  

   欢迎各界人士莅临指导,业务洽谈!               顺祝商祺!

 发表评论