- 博客(15)
- 资源 (8)
- 收藏
- 关注
原创 C语言使用函数指针和函数别名进行插件化开发-插件系统-基础插件框架
C语言使用函数指针和函数别名进行插件化开发-插件系统-基础插件框架。编译成 hello.dll 放入"插件"目录。////插件管理器.h。////插件管理器.c。
2024-10-06 19:39:10
375
1
原创 【无标题】msys2安装工具命令锦集
MSYS2 安装automake命令。MSYS2 安装autoconf命令。MSYS2 安装libtool命令。MSYS2 安装perl命令。MSYS2 安装m4命令。
2024-08-04 17:03:37
255
原创 GTK+3自定义标题栏GtkHeaderBar实例-在标题栏上添加图标和菜单(要求GTK+3.10版本以上) 通过xml文件(builder.ui)进行界面布局
【代码】GTK+3自定义标题栏GtkHeaderBar实例(GTK+3.10版本以上)
2024-06-25 21:18:03
457
1
原创 中文和英文编程对比,中文更具有优势。
中文编程优点:1.中文无需大驼峰小驼峰。英文的弊端是不能独立成义,几个单词放在一起无法识别词义,为了方便取义,英文编程才有了大驼峰小驼峰。而中文单字成义无需大驼峰小驼峰。2.中文占用存储空间更小。虽说英文26个字母单字母是占用是一个字节,而中文汉字是占用2个字节,一个中文汉字相当于2个英文字母。但是中文汉字一个字就可以很准确的表达出意思,而2个字母几乎不能表达出让人能理解的意思,还要加额外的死记硬背助记符。3.源码就是注释。此项是针对以中文为母语的人群而言。全中文源代码:#导入 <zhili
2020-11-26 09:43:24
4196
2
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之九:核心库源码
hexinku.c核心库源码如下:/* * 核心库:hexinku.c生成hexinku.dll。此文件只在zhi.c第11行一个文件中引用,是知语言的基本库。 * 使用hexinku.c,您可以将ZHI用作动态代码生成的后端 */#如果 !已定义 是_源文件 || 是_源文件#导入 "词法分析.c"#导入 "语法分析.c"#导入 "ELF文件处理.c"#导入 "run开关.c"#如果已定义 ZHI_TARGET_I386#导入 "i386-gen.c"#导入 "i386-link
2020-11-25 21:50:47
1481
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之八:汇编处理
汇编处理源码如下:/* * GAS之类的ZHI汇编程序 */#定义 全局_使用#导入 "zhi.h"#如果已定义 配置_ZHI_汇编静态 段 *最后_代码_段; /* 处理.previous asm指令 */静态_函数 整数型 汇编_获取_局部_标签_名称(知心状态机 *状态机1, 无符号 整数型 n){ 字符型 buf[64]; 单词存储结构 *ts; snprintf(buf, 取大小(buf), "L..%u", n); ts = 单词表_查
2020-11-25 21:47:59
1095
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之七:中间语言生成器
中间语言生成器源码如下:/* * ZHI的CIL(Common Intermediate Language:通用中间语言)代码生成器 */#error 自2003年以来,此代码已被破坏/* 可用寄存器数 */#定义 可用_寄存器数 3/* 一个寄存器可以属于几个类。 这些类必须从更一般的类到更精确的类进行排序(请参见gv2()代码进行假设)。 */#定义 寄存器类_堆栈 0x0001 /* 任何堆栈条目 */#定义 寄存器类_堆栈0 0x0
2020-11-25 21:45:56
822
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之六:中间操作码
中间操作码源码如下:/* * CIL操作码定义 * CIL一般指通用中间语言。通用中间语言(Common Intermediate Language,简称CIL) */操作码(NOP, "nop", 0x00)操作码(BREAK, "跳出", 0x01) //向公共语言结构 (CLI) 发出信号以通知调试器已撞上了一个断点。操作码(LDARG_0, "ldarg.0", 0x02) //将索引为 0 的参数加载到计算堆栈上。操作码(LDARG_1, "ldarg.1", 0x0
2020-11-25 21:44:31
937
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之五:语法分析下
语法分析下半部分源码如下: 分支 符_REGPARM1: 分支 符_REGPARM2: 跳过('('); n = 表达式_常量(); 如果 (n > 3) n = 3; 否则 如果 (n < 0) n = 0; 如果 (n > 0) ad-&g
2020-11-25 21:32:32
1260
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之四:语法分析上
语法分析代码过长,由于单篇博文字数限制,现将语法分析源码分为上下两篇语法分析.c/* * 语法分析:递归下降式语法制导,单趟编译 */#定义 全局_使用#导入 "zhi.h"/********************************************************//* 全局变量 */静态_外部 整数型 返回符号, 匿名符号索引, 输出代码索引, 局部变量索引;静态_外部 符号 *全局符号_堆栈;/*主要的符号堆栈:用于全局变量,函数和类型。*/静态_外部 符号
2020-11-25 21:29:56
2842
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之三:词法分析
词法分析.h 源码如下:/* * 功能:预处理,词法分析 * 只在hexinku.c第7行一个地方引用 */#定义 全局_使用#导入 "zhi.h"/********************************************************//* 全局变量 */静态_外部 整数型 标识符_标记;静态_外部 整数型 解析_标记;静态_外部 结构体 缓冲文件 *file;静态_外部 整数型 当前取到的源码字符, 单词编码;静态_外部 恒定值 单词值;静
2020-11-25 21:18:53
1291
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之二:字符(token)汉化
汉化了所有的C语言关键词字符.h源码如下:/* keywords */ 字符(关键字_无类型, "无类型") 字符(关键字_VOID, "void") 字符(关键字_整数型, "整数型") 字符(关键字_INT, "int") 字符(关键字_长整数型, "长整数型") 字符(关键字_LONG, "long") 字符(关键字_短整数型, "短整数型") 字符(关键字_SHORT, "short") 字符(关键字_字符型, "字符型")
2020-11-25 21:13:51
901
原创 TCC(TinyC)编译器汉化(中文编译器、汉语编程)之一:主文件汉化
一直想学习编译器,偶然的机会接触到TCC(TinyC)编译器源码。分析源代码是学习一个项目的最好的学习途径之一。自己最爱的母语—中文(汉语或华语)竟然没有一个编译器。果断自己汉化一个。现将汉化源码分享出来。可以实现编译器自举(自我迭代)。特别声明:本编译器基于tcc(TCC - Tiny C Compiler。 Copyright © 2001-2004 Fabrice Bellard)优化汉化。zhi.c完整源码如下:#导入 "zhi.h"#如果 是_源文件# 导入 "hexinku.c"#结
2020-11-25 21:08:56
5123
2
原创 四位并行全加器之4位超前进位器
四位并行全加器之4位超前进位器:进位1=与1进位2=与2+与1或2进位3=与3+(与2+与1或2)或3进位4=与4+(与3+(与2+与1或2)或3)或4解出来的方程,用中文表示,看起来还是比英文舒服的多。就这四个简短的方程为人类计算机提速了多个数量级。1、一个开关生出两个状态:“开”和“关”,2、两个状态开和关组合出来三个基本电路“并联电路”“串联电路”,“反向开关”。3、三个基本电路...
2020-03-09 21:43:57
3600
移动医疗APP源码 android (安卓版)妙手医生源码
2017-06-11
最好的打包工具HAP_SetupFactory7-LDR&WestKing.rar )
2013-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人