- Python调用.dll文件,报错FileNotFoundError: Could not find module ‘xx\....\xx.dll
腿。
python经验分享开发语言
一、代码及报错详情fromctypesimportCDLLimportosdll_path=r"path_to_your_dll\name.dll"#替换为实际的DLL文件路径tmp=CDLL(dll_path)Traceback(mostrecentcalllast):self._handle=_dlopen(self._name,mode)FileNotFoundError:Couldnotf
- centos7-安装docker-compose 报错/lib64/libc.so.6: version `GLIBC_2.28‘ not found
wangying202
dockerdockercentos
新增安装的centos7虚拟机,按要求需要安装docker-compose,遇到了使用docker-compose命令时报错“[11798]ErrorloadingPythonlib‘/tmp/_MEIztwHzf/libpython3.9.so.1.0’:dlopen:/lib64/libc.so.6:version‘GLIBC_2.28’notfound(requiredby/tmp/_MEI
- C语言调用两个lib中的同名函数
星羽空间
C/C++专题c语言开发语言linux
在C语言中,如果你需要调用两个库中的同名函数,这会引起问题,因为链接器在连接阶段会遇到符号冲突。解决办法可以dlopen动态加载库,并使用dlsym获取函数指针。这样可以避免符号冲突,并且你可以分别调用两个库中的同名函数。举个例子:假设有两个库libA.so和libB.so,每个库中都有一个名为foo的函数。#include#include#include//定义函数指针类型typedefvoid
- linux dlopen手册翻译
sunqin_csdn
linux算法运维
名称dlclose,dlopen,dlmopen打开和关闭一个共享对象简介#includevoid*dlopen(constchar*filename,intflags);intdlclose(void*handle);#define_GNU_SOURCE#includevoid*dlmoopen(Lmid_tlmid,constchar*filename,intflags);Linkwith-L
- - (void)performSelector: onThread: withObject: waitUntilDone: 和 dispatch_async
_RG
-(void)performSelector:(SEL)aSelectoronThread:(NSThread*)thrwithObject:(nullableid)argwaitUntilDone:(BOOL)wait指定默认模式在指定线程上调用接收器的方法,当wait为YES时,会立即调用接收器方法,当wait为NO时,会将操作加入到runloop中排队,当有机会时才执行此操作跟新UI时一般用
- java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found
hello world 搬运工
android
一般某些聊天的SDK都依赖于libsqlite.so(我遇到的是融云),不过由于这个包从来没有变化,使用的是系统默认提供的(/system/lib/)。在Android6.x及以下的平台可以运行。Android7.x执行更严格的安全检查,禁止使用系统目录的内容。所以如果希望在7.x以上版本,需要把系统目录的libsqlite.so拷贝出来,也放在自己app对应指令目录下。解决方案:apk中带上需要
- iOS 几种方法调用
CocoaJason
performSelectorNSObject.h-(id)performSelector:(SEL)aSelector;-(id)performSelector:(SEL)aSelectorwithObject:(id)object;-(id)performSelector:(SEL)aSelectorwithObject:(id)object1withObject:(id)object2;pe
- 在 MacOS M系列处理器上使用 Anaconda 开发 Oralce 的Python程序
flexitime
macospython开发语言
在MacOSM系列处理器上使用Anaconda开发Oralce的Python程序因oracle官方驱动暂无苹果M系列处理器版本,所以使用Arm的python解释器报驱动错误:cx_Oracle.DatabaseError:DPI-1047:Cannotlocatea64-bitOracleClientlibrary:"dlopen(libclntsh.dylib,0x0001):tried:'/U
- Objective-C 有关类和方法的判断处理
CaptainRoy
/*-(BOOL)isKindOfClass:(Class)aClass对象是否是某个类或其子类的成员-(BOOL)isMemberOfClass:(Class)aClass对象是否是类的成员-(BOOL)respondsToSelector:(SEL)aSelector对象能不能响应相关的函数+(BOOL)instancesRespondToSelector:(SEL)aSelector指定的类
- Android~集成opencv问题
不会画板子的物联网工程师
#Androidandroidopencv人工智能
dlopenfailed:library“libopencv_java4.so”notfoundEFATALEXCEPTION:mainProcess:com.cv.monitor,PID:4371java.lang.UnsatisfiedLinkError:dlopenfailed:library"libopencv_java4.so"notfound:neededby/data/app/~~K
- 15、延迟执行的几种方法
十二月_9d09
1、performSelector2、NSTimer定时器3、NSThread的sleep4、GCD
- ubuntu 22安装配置并好安全加固后,普通用户一直登录不上
小韩加油呀
ubuntu安全pam_tally2.sopam_faillick.so
现象ubuntu22安装配置并好安全加固后,普通用户一直登录不上排查报错查看日志/var/log/auth.log发现报错Jan3015:49:57aiv-O-E-Msshd[62570]:PAMunabletodlopen(pam_tally2.so):/lib/security/pam_tally2.so:cannotopensharedobjectfile:Nosuchfileordirec
- UnsatisfiedLinkError
通域
macIDEAmacos
运行的电脑:mac使用的是m1芯片IDEA配置的JDK是zulu8的版本。异常信息Exceptioninthread"main"java.lang.UnsatisfiedLinkError:/Users/mi/Library/Caches/JNA/temp/jna1009468612144095833.tmp:dlopen(/Users/mi/Library/Caches/JNA/temp/jna
- iOS延时操作统计
流年划过颜夕
合理利用延时操作会给开发带来一定帮助,之前也用到了延迟操作处理业务,虽然不频繁,但是作用还是挺大的。网上有很多对iOS延迟操作方式的统计,但大多都不全,现在再对iOS延迟操作的方式做个研究并统计下,便于以后选择:1.performSelector方法延时(简单方便)[selfperformSelector:@selector(delayMethod)withObject:nilafterDelay
- instancesRespondToSelector 和 respondsToSelector 的对比
fuyoufang
先通过官方文档来说明instancesRespondToSelector和respondsToSelector的作用,然后再进行对比总结。instancesRespondToSelector:instancesRespondToSelector:是NSObject的类方法,定义如下://NSObject.h+(BOOL)instancesRespondToSelector:(SEL)aSelect
- 屏幕旋转
周大生_c1b6
2022.11.30世界杯视频全屏疑难问题【现象】部分系统机型视频全屏和返回半屏时出现状态栏旋转的通知方法不执行【原因】是在屏幕旋转时适配了IOS16系统,因为适配iOS16的代码在xcode13是不存在的,需要使用PerformSelector来执行(虽然其他系统不会执行此段代码,但是就是这段代码的问题,不知道为啥)【解决】升级xcode
- 编译适用arm 架构的so
wind_sky
在jni调用那篇,我们介绍了使用gcc编译so库,但是在Mac系统下,直接使用默认的gcc编译so库,生成的so文件可能不适合Android手机的CPU架构,所以在手机中调用该so可能会报出如下异常UnsatisfiedLinkError:dlopenfailed:"xxx.so"hasbadELFmagic.这就说明这个so文件不适合AndroidCPU,目前市面上的Android手机的CPU架
- dlerror: libcudart.so.10.0: cannot open shared object file ...
不存在的里皮
2019-11-1123:37:00.153893:Itensorflow/stream_executor/platform/default/dso_loader.cc:53]Couldnotdlopenlibrary'libcudart.so.10.0';dlerror:libcudart.so.10.0:cannotopensharedobjectfile:Nosuchfileordirect
- 关于performSelector看我就够了
luonaerduo
1、performSelector简单使用performSelector(方法执行器),iOS中提供了如下几种常用的调用方式[selfperformSelector:@selector(sureTestMethod)];[selfperformSelector:@selector(sureTestMethod)withObject:params];[selfperformSelector:@sel
- Mac 安装Mysql 8.0 后,Sequel Pro 用root用户链接不上
丁颖_3bd4
先上错误提示:FailedtoConnecttoMySQLat10.211.55.6:3306withuserrootAuthenticationplugin'caching_sha2_password'cannotbeloaded:dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so,2):imagenotfound意思是说加密方
- iOS 逆向之网易云音乐去除开屏广告
Do_More
%hookNMAdvertisementManager-(void)fetchStartupAdvertisement{[[%c(NMAdvertisementManager)defaultManager]performSelector:@selector(clearCachedResources)];[[%c(NMAdvertisementManager)defaultManager]perfo
- frida java层加密自吐,修改str ,dlopen,内存读写,so内存dump
sugar椰子皮
爬虫逆向javascript
修改int返回值retval.replace(1000)arg[1]=ptr(1000);操作字符串的返回值11,修改对应内存里的字符串在事先知道这是个指针的情况:js函数定义str2bytes,str2hex比如md5的updatevarnew_str="koohai"arg[1].writeBytearray(str2bytes(str2hex(new_str)+'00'))//因为要给个结束
- C语言应用层程序热补丁
csdn_dyq111
C语言Linuxc语言
一、热补丁简介一个正在运行的程序,要是有某函数或某流程有问题,需要修改,有两个方式:1.通过设置LD_PRELOAD把需要的库重新定向,但这种方式需要重启正在运行的程序。2.通过修改可执行文件某个函数指向的地址,指向新的函数,这种方式可不重启正在运行的程序。这就热补丁(hotpatch)。二、热补丁使用1.API介绍Linux提供了一套API来动态装载库。热补丁主要使用如下API:-dlopen,
- cpp热更
jlaij
游戏开发
一般c++的热更有两种方式1、c++动态加载so的方式,也就是通过dlopen、dlsym、dlclose这三个函数操作实现热更2、c++通过执行lua文件的形式,sol2(https://github.com/ThePhD/sol2)这是一个c++与lua交互的开源库,已经支持lua5.3,c++14c++17都已经支持了。使用lua热更其实跟下面的代码方式差不多,在心跳出调用lua脚本,lua
- LM记录
拥抱月亮的大星星
1.Appdelegate继承与LMAppdelegate2.LMAppdelegate继承UIResponder3.Appdelgate里面所有代理方法必须走父类[superXXX]4.所有Appdelegate代理方法被LMModuleProtocol封装,在LMAppdelegate由LMNoduleManager驱动触发(performSelector**withLMContextobj)
- OSError: dlopen(../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6):
Ten_Minutes
在mac上装完lightgbm时没有任何问题,在运行代码时出现如下问题:OSError:dlopen(../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so,6):Librarynotloaded:/usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylibReferen
- 深度解析performSelector方法
u010405836
iosobjective-c开发语言
深度解析performSelector方法大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在今天的文章中,我们将深入研究Objective-C中一个令人着迷的方法——performSelector,这是一个强大而神奇的调用技巧,让我们一起来详细了解它的妙用和原理。performSelector方法简介在Objective-C中,perf
- cmake构建动态库实例(cmakelist)
三雷科技
深入C++编程入门c++Cmakelist动态库linuxrpath
文章目录一、开发实例1.1代码目录1.2代码内容1.2.1CMakeLists.txt1.2.2mylib.cpp1.2.2mylib.h1.2编译二、动态库使用方法一、动态链接源代码构建运行方法二:dlopen方式一、开发实例通过cmake构建静态开发实例如下:1.1代码目录代码目录结构如下:
- Runloop的认识
畵_460e
一:什么是Runloop(面试题:什么是RunLoop?项目中有用到吗?)顾名思义,运行循环,在程序运行过程中循环做一些事情,应用范畴:定时器timer、PerformSelector、GCD、事件响应、手势识别、界面刷新、网络请求、AutoreleasePool,runloop的基本作用就是保持程序的持续运行,处理APP中的各种事件,接受省CPU资源,提高程序性能,该做事的时候做事,该休息的时候
- Linux下c语言实现动态库的动态调用
赤露水
linuxc语言开发语言
在Linux操作系统下,有时候需要在不重新编译程序的情况下,运行时动态地加载库,这时可以通过Linux操作系统提供的API可以实现,涉及到的API主要有dlopen、dlsym和dlclose。使用时,需要加上头文件#include。dlopen介绍:打开一个动态链接库,函数定义如下:void*dlopen(constchar*pathname,intmode);函数功能描述:在dlopen的()
- apache 安装linux windows
墙头上一根草
apacheinuxwindows
linux安装Apache 有两种方式一种是手动安装通过二进制的文件进行安装,另外一种就是通过yum 安装,此中安装方式,需要物理机联网。以下分别介绍两种的安装方式
通过二进制文件安装Apache需要的软件有apr,apr-util,pcre
1,安装 apr 下载地址:htt
- fill_parent、wrap_content和match_parent的区别
Cb123456
match_parentfill_parent
fill_parent、wrap_content和match_parent的区别:
1)fill_parent
设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。
2) wrap_conte
- 网页自适应设计
天子之骄
htmlcss响应式设计页面自适应
网页自适应设计
网页对浏览器窗口的自适应支持变得越来越重要了。自适应响应设计更是异常火爆。再加上移动端的崛起,更是如日中天。以前为了适应不同屏幕分布率和浏览器窗口的扩大和缩小,需要设计几套css样式,用js脚本判断窗口大小,选择加载。结构臃肿,加载负担较大。现笔者经过一定时间的学习,有所心得,故分享于此,加强交流,共同进步。同时希望对大家有所
- [sql server] 分组取最大最小常用sql
一炮送你回车库
SQL Server
--分组取最大最小常用sql--测试环境if OBJECT_ID('tb') is not null drop table tb;gocreate table tb( col1 int, col2 int, Fcount int)insert into tbselect 11,20,1 union allselect 11,22,1 union allselect 1
- ImageIO写图片输出到硬盘
3213213333332132
javaimage
package awt;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imagei
- 自己的String动态数组
宝剑锋梅花香
java动态数组数组
数组还是好说,学过一两门编程语言的就知道,需要注意的是数组声明时需要把大小给它定下来,比如声明一个字符串类型的数组:String str[]=new String[10]; 但是问题就来了,每次都是大小确定的数组,我需要数组大小不固定随时变化怎么办呢? 动态数组就这样应运而生,龙哥给我们讲的是自己用代码写动态数组,并非用的ArrayList 看看字符
- pinyin4j工具类
darkranger
.net
pinyin4j工具类Java工具类 2010-04-24 00:47:00 阅读69 评论0 字号:大中小
引入pinyin4j-2.5.0.jar包:
pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j。
本人以前用AscII编码提取工具,效果不理想,现在用pinyin4j简单实现了一个。功能还不是很完美,
- StarUML学习笔记----基本概念
aijuans
UML建模
介绍StarUML的基本概念,这些都是有效运用StarUML?所需要的。包括对模型、视图、图、项目、单元、方法、框架、模型块及其差异以及UML轮廓。
模型、视与图(Model, View and Diagram)
&
- Activiti最终总结
avords
Activiti id 工作流
1、流程定义ID:ProcessDefinitionId,当定义一个流程就会产生。
2、流程实例ID:ProcessInstanceId,当开始一个具体的流程时就会产生,也就是不同的流程实例ID可能有相同的流程定义ID。
3、TaskId,每一个userTask都会有一个Id这个是存在于流程实例上的。
4、TaskDefinitionKey和(ActivityImpl activityId
- 从省市区多重级联想到的,react和jquery的差别
bee1314
jqueryUIreact
在我们的前端项目里经常会用到级联的select,比如省市区这样。通常这种级联大多是动态的。比如先加载了省,点击省加载市,点击市加载区。然后数据通常ajax返回。如果没有数据则说明到了叶子节点。 针对这种场景,如果我们使用jquery来实现,要考虑很多的问题,数据部分,以及大量的dom操作。比如这个页面上显示了某个区,这时候我切换省,要把市重新初始化数据,然后区域的部分要从页面
- Eclipse快捷键大全
bijian1013
javaeclipse快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+En
- js 笔记 函数
征客丶
JavaScript
一、函数的使用
1.1、定义函数变量
var vName = funcation(params){
}
1.2、函数的调用
函数变量的调用: vName(params);
函数定义时自发调用:(function(params){})(params);
1.3、函数中变量赋值
var a = 'a';
var ff
- 【Scala四】分析Spark源代码总结的Scala语法二
bit1129
scala
1. Some操作
在下面的代码中,使用了Some操作:if (self.partitioner == Some(partitioner)),那么Some(partitioner)表示什么含义?首先partitioner是方法combineByKey传入的变量,
Some的文档说明:
/** Class `Some[A]` represents existin
- java 匿名内部类
BlueSkator
java匿名内部类
组合优先于继承
Java的匿名类,就是提供了一个快捷方便的手段,令继承关系可以方便地变成组合关系
继承只有一个时候才能用,当你要求子类的实例可以替代父类实例的位置时才可以用继承。
在Java中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类。
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相
- 盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用
ljy325
游戏applewindowsXPOS
Mac mini 型号: MC270CH-A RMB:5,688
Apple 对windows的产品支持不好,有以下问题:
1.装完了xp,发现机身很热虽然没有运行任何程序!貌似显卡跑游戏发热一样,按照那样的发热量,那部机子损耗很大,使用寿命受到严重的影响!
2.反观安装了Mac os的展示机,发热量很小,运行了1天温度也没有那么高
&nbs
- 读《研磨设计模式》-代码笔记-生成器模式-Builder
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF)
* 个人理解:
* 构建一个复杂的对象,对于创建者(Builder)来说,一是要有数据来源(rawData),二是要返回构
- JIRA与SVN插件安装
chenyu19891124
SVNjira
JIRA安装好后提交代码并要显示在JIRA上,这得需要用SVN的插件才能看见开发人员提交的代码。
1.下载svn与jira插件安装包,解压后在安装包(atlassian-jira-subversion-plugin-0.10.1)
2.解压出来的包里下的lib文件夹下的jar拷贝到(C:\Program Files\Atlassian\JIRA 4.3.4\atlassian-jira\WEB
- 常用数学思想方法
comsci
工作
对于搞工程和技术的朋友来讲,在工作中常常遇到一些实际问题,而采用常规的思维方式无法很好的解决这些问题,那么这个时候我们就需要用数学语言和数学工具,而使用数学工具的前提却是用数学思想的方法来描述问题。。下面转帖几种常用的数学思想方法,仅供学习和参考
函数思想
把某一数学问题用函数表示出来,并且利用函数探究这个问题的一般规律。这是最基本、最常用的数学方法
- pl/sql集合类型
daizj
oracle集合typepl/sql
--集合类型
/*
单行单列的数据,使用标量变量
单行多列数据,使用记录
单列多行数据,使用集合(。。。)
*集合:类似于数组也就是。pl/sql集合类型包括索引表(pl/sql table)、嵌套表(Nested Table)、变长数组(VARRAY)等
*/
/*
--集合方法
&n
- [Ofbiz]ofbiz初用
dinguangx
电商ofbiz
从github下载最新的ofbiz(截止2015-7-13),从源码进行ofbiz的试用
1. 加载测试库
ofbiz内置derby,通过下面的命令初始化测试库
./ant load-demo (与load-seed有一些区别)
2. 启动内置tomcat
./ant start
或
./startofbiz.sh
或
java -jar ofbiz.jar
&
- 结构体中最后一个元素是长度为0的数组
dcj3sjt126com
cgcc
在Linux源代码中,有很多的结构体最后都定义了一个元素个数为0个的数组,如/usr/include/linux/if_pppox.h中有这样一个结构体: struct pppoe_tag { __u16 tag_type; __u16 tag_len; &n
- Linux cp 实现强行覆盖
dcj3sjt126com
linux
发现在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能强行覆盖的,这时怎么回事的呢?一两个文件还好说,就输几个yes吧,但是要是n多文件怎么办,那还不输死人呢?下面提供三种解决办法。 方法一
我们输入alias命令,看看系统给cp起了一个什么别名。
[root@localhost ~]# aliasalias cp=’cp -i’a
- Memcached(一)、HelloWorld
frank1234
memcached
一、简介
高性能的架构离不开缓存,分布式缓存中的佼佼者当属memcached,它通过客户端将不同的key hash到不同的memcached服务器中,而获取的时候也到相同的服务器中获取,由于不需要做集群同步,也就省去了集群间同步的开销和延迟,所以它相对于ehcache等缓存来说能更好的支持分布式应用,具有更强的横向伸缩能力。
二、客户端
选择一个memcached客户端,我这里用的是memc
- Search in Rotated Sorted Array II
hcx2013
search
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given ta
- Spring4新特性——更好的Java泛型操作API
jinnianshilongnian
spring4generic type
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- CentOS安装JDK
liuxingguome
centos
1、行卸载原来的:
[root@localhost opt]# rpm -qa | grep java
tzdata-java-2014g-1.el6.noarch
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64
java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
[root@localhost
- 二分搜索专题2-在有序二维数组中搜索一个元素
OpenMind
二维数组算法二分搜索
1,设二维数组p的每行每列都按照下标递增的顺序递增。
用数学语言描述如下:p满足
(1),对任意的x1,x2,y,如果x1<x2,则p(x1,y)<p(x2,y);
(2),对任意的x,y1,y2, 如果y1<y2,则p(x,y1)<p(x,y2);
2,问题:
给定满足1的数组p和一个整数k,求是否存在x0,y0使得p(x0,y0)=k?
3,算法分析:
(
- java 随机数 Math与Random
SaraWon
javaMathRandom
今天需要在程序中产生随机数,知道有两种方法可以使用,但是使用Math和Random的区别还不是特别清楚,看到一篇文章是关于的,觉得写的还挺不错的,原文地址是
http://www.oschina.net/question/157182_45274?sort=default&p=1#answers
产生1到10之间的随机数的两种实现方式:
//Math
Math.roun
- oracle创建表空间
tugn
oracle
create temporary tablespace TXSJ_TEMP
tempfile 'E:\Oracle\oradata\TXSJ_TEMP.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent m
- 使用Java8实现自己的个性化搜索引擎
yangshangchuan
javasuperword搜索引擎java8全文检索
需要对249本软件著作实现句子级别全文检索,这些著作均为PDF文件,不使用现有的框架如lucene,自己实现的方法如下:
1、从PDF文件中提取文本,这里的重点是如何最大可能地还原文本。提取之后的文本,一个句子一行保存为文本文件。
2、将所有文本文件合并为一个单一的文本文件,这样,每一个句子就有一个唯一行号。
3、对每一行文本进行分词,建立倒排表,倒排表的格式为:词=包含该词的总行数N=行号