Click here to Skip to main content
15,888,527 members
Articles / Desktop Programming / MFC

A Lightning Fast DLL for Word Game Writers, Complete With the Dictionary Files

Rate me:
Please Sign up or sign in to vote.
3.08/5 (9 votes)
7 Aug 20046 min read 54.4K   1.5K   23  
This DLL and the test MFC application supplied demonstrates how efficiently large number of words can be dealt with lightning fast - for wild card matching and checking existence. This DLL is just the all-in-one tool that a word game writer needs - one who needs a very fast dictionary facility.
// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the WORDLDR_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// WORDLDR_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef WORDLDR_EXPORTS
#define WORDLDR_API extern "C" __declspec(dllexport)
#else
#define WORDLDR_API __declspec(dllimport)
#endif

//Includes...
#include <direct.h>
#include <io.h>
#include "Word.h"

//Exported set of functions...
WORDLDR_API int wldrLoad( void );
WORDLDR_API bool wldrGetLoadingStatus( void );
WORDLDR_API int wldrGetWildCardMatches( char *, HGLOBAL * );
WORDLDR_API bool wldrExists( char * );
WORDLDR_API void wldrDumpDics( char * );

//Non-exported helper functions...
DWORD WINAPI thrdLoadBeta( LPVOID );
int LoadWords( void );
int LoadDicPaths( void );
void CollapseConsequtiveStars( char * );
int FindFrequency( char *, char );

//User defined data types...
struct strBeta { char szBetaPath[MAX_PATH]; };

//Global variables...
strBeta szBeta[MAX_LENGTH];
bool bLoading;
vector< CWordList* > vBeta;

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Architect Yahoo! Inc
United States United States
Koushik is an Architect who also manages a team of developers and architects at Yahoo Cloud Organization, including Media Content Serving and Storage. An Electronics Engineer from Jadavpur University, he has been a consultant throughout most of his career. Apart from spending time with work and projects, he loves playing cricket, listening to old songs, watching science fiction movies, camping and fishing, all kinds of food, sea beaches and his gas grill.

Comments and Discussions