lcc源代码解析之string.c

本文深入解析lcc编译器中string.c的源代码,探讨其字符串处理功能,这些功能不仅适用于lcc,还可应用于其他场景。文章通过实例展示代码中的实用技巧。
摘要由CSDN通过智能技术生成

本文要解析的lcc字符串处理相关的代码,实际上不止是可以再lcc中使用,也可以单独摘出来用于需要的地方,里面的实现还是有不少可以借鉴的地方,废话不多少,代码上。

#include "c.h"

static char rcsid[] = "$Id: string.c,v 1.1 2002/08/28 23:12:46 drh Exp $";

static struct string {
	char *str;
	int len;
	struct string *link;
} *buckets[1024];
/*256个随机数的静态数组*/
static int scatter[] = {	/* map characters to random values */
	2078917053, 143302914, 1027100827, 1953210302, 755253631,
	2002600785, 1405390230, 45248011, 1099951567, 433832350,
	2018585307, 438263339, 813528929, 1703199216, 618906479,
	573714703, 766270699, 275680090, 1510320440, 1583583926,
	1723401032, 1965443329, 1098183682, 1636505764, 980071615,
	1011597961, 643279273, 1315461275, 157584038, 1069844923,
	471560540, 89017443, 1213147837, 1498661368, 2042227746,
	1968401469, 1353778505, 1300134328, 2013649480, 306246424,
	1733966678,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值