gawk 4.0.1的源码(清减版)
https://files.cnblogs.com/files/blogs/714801/gawk-master.7z 350KB
在 GitHub - gvlx/gawk: forked from git://git.savannah.gnu.org/gawk.git 下载的源码
下载安装了mingw,configure --disable-lint --disable-dependency-tracking --disable-largefile --disable-rpath --disable-nls
然后可以用tdm gcc编译。Makefile可以用NMAKE.exe.
O=array.o awkgram.o builtin.o cint_array.o command.o debug.o dfa.o eval.o ext.o field.o floatcomp.o gawkapi.o gawkmisc.o getopt.o getopt1.o int_array.o io.o main.o mpfr.o msg.o node.o profile.o random.o re.o regex.o str_array.o symbol.o version.o CFLAGS=-DHAVE_CONFIG_H -DGAWK -I. -DNDEBUG -Os gawk.exe : $(O) gcc -o $@ $(O) strip -s $@ .c.o: gcc $(CFLAGS) -c $< clean: -@del/q *.o -@del/q gawk.exe dep: gcc $(CFLAGS) -MM *.c >dep.txt include dep.txt
NAMKE.exe不支持-include (dep.txt不存在是不报错)。
改了.y文件的话,可以用单独的bison,也可以用mingw里的。
- bison -o awkgram.c awkgram.y 生成的分析函数为yyparse, yy是默认的prefix
- bison -o command.c -p zz command.y 生成的分析函数为zzparse [可以删掉]
minimal awk (awk)这个名字已经被占了。试了下支持的语法太简单。学算法/短程序用gawk挺好 可以改个a语言解释器出来:a t.a
关于fatal: print to "standard output" failed (No space left on device),可以把输出重定向到文件。在builtin.c里的efwrite里,把fwrite(ptr, size, count, fp)换成write(fileno(fp), ptr, count)后可以了。还不知道原因。
main.c里的一大堆setlocale换成setlocale(LC_ALL, "")一句没事。If locale is an empty string, "", each part of the locale that should be modified is set according to the environment variables.The details are implementation-dependent.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
2021-12-24 A PCI Express to PCIX Bridge optimized for performance and area
2021-12-24 在线卡诺图
2021-12-24 Verilog code for D flip-flop – All modeling styles
2021-12-24 Verilog之[-2]贴
2021-12-24 试用Verilog中的=, <=和assign
2021-12-24 affiliate
2021-12-24 A Child's History of England.63