小工具分享,在电脑上实现模拟pos的功能。
除了界面,一个pos机的所有功能都有了。
功能上的模拟,
实现: M1,CPU卡片消费,银联卡消费,记录存储,与前置通信下载参数,上传记录,银联后台通信(签到,下载CA和IC卡参数,电子现金记录上送)记录分析,执行LUA脚本指令等,,
关于卡片消费的实现,配置一读卡服务的地址,卡片消费时通过TCP连接到接有读卡器的电脑上,远程操作读卡器实现。
远程读卡器:即像操作本地读卡器一样操作其他电脑上的读卡器。
带读卡器的电脑上运行一读写卡服务并开启端口供客户端访问。
编译:
文件库libmyfile.a
通信库libmycom.a
读卡库libmycard.a
算法库libmycalc.a
附:makefile文件如下:
######################################## #makefile ######################################## #编译指定子目录 SUBDIRS := .\\lib\\NC_Com\ .\\lib\\NC_FileSys\ .\\lib\\NC_BlkFile\ .\\lib\\NC_Card\\NC_Card_Lib\ .\\lib\\NC_UPCash\\NC_UPCash_Lib define make_subdir @ for subdir in $(SUBDIRS) ; do \ ( cd $$subdir && make $1) \ done; endef #编译主程序 BINARY := ./bin/bus OBJ_DIR := ./obj/ CC= gcc LD= ld CFLAGS= -std=c99 -Wall -g LDSCRIPT= -lmycom -lws2_32 -liconv -lmyfile -lmycard -lmyup -lmycalc -lmyblkfile -llua LDFLAGS= -Llib SRC = $(wildcard *.c) DIR = $(notdir $(SRC)) OBJS = $(patsubst %.c,$(OBJ_DIR)%.o,$(DIR)) #OBJS= main.o myutils.o inirw.o cmdpboc.o cputest.o bustcp.o ansrec.o m1cmd.o m1api.o m1test.o upcash.o myother.o getsys.o #CFLAGS=-std=c99 #@echo Building lib... #$(call make_subdir) .PHONY: clean lib all: prebuild $(BINARY).exe prebuild: @echo Building app... $(BINARY).exe : $(OBJS) @echo Generating ... $(CC) -o $(BINARY).exe $(OBJS) $(LDFLAGS) $(LDSCRIPT) @echo OK! $(OBJ_DIR)%.o : %.c $(CC) -c $(CFLAGS) $< -o $@ lib: @echo Building lib... $(call make_subdir) clean: rm -f $(OBJ_DIR)*.o @echo Removed!