Racal

编程语言爱好者,专注编译器/虚拟机开发

[开源] yvm - 自制Java虚拟机

项目地址 : https://github.com/racaljk/yvm 虚拟机现在已可运行(不过还有很多待发现待修复的bugs),已支持语言特性有: + Java基本算术运算,流程控制语句,面向对象。 + RTTI + 字符串拼接(+,+=符号重载) + 异常处理 详细内容请参...

2018-04-01 21:34:39

阅读数 341

评论数 0

2018刑侦科推理试题

最近很火的刑侦推理题,我也试了一下,答案是BCACA CDABA如果直接推理很难,还要不断试错。既然这样不如借助计算机暴力出结果(因为只有4^9=262144种情况,可以无脑秒出)。具体做法是1.首先生成所有可能的答案(递归生成解答树)2.筛选掉不符合10个题目要求的(剪枝,剪枝顺序还可以优化)3...

2018-03-03 13:11:39

阅读数 593

评论数 0

Erlang入门教程 - 顺序式编程

Getting Started with Erlang User’s Guide Version 9.0 本文来源于官方教程 http://erlang.org/doc/getting_started/seq_prog.html

2017-07-24 17:26:34

阅读数 849

评论数 0

该博客已废弃,请访问http://www.cnblogs.com/racaljk/

csdn吃相难看,又是扫描阅读,又是收费下载,已废弃,请访问cnblog博客: http://www.cnblogs.com/racaljk/

2018-11-25 22:28:23

阅读数 46

评论数 0

Leetcode 931. Minimum falling path sum 最小下降路径和(动态规划)

Leetcode 931. Minimum falling path sum 最小下降路径和(动态规划) 题目描述 已知一个正方形二维数组A,我们想找到一条最小下降路径的和 所谓下降路径是指,从一行到下一行,只能选择间距不超过1的列(也就是说第一行的第一列,只能选择第二行的第一列和第二列;第二行的...

2018-11-04 21:26:15

阅读数 160

评论数 0

Leetcode 8. String to Integer (atoi) atoi函数实现 (字符串)

Leetcode 8. String to Integer (atoi) atoi函数实现 (字符串) 题目描述 实现atoi函数,将一个字符串转化为数字 测试样例 Input: "42" Output: 42 Input: " -42&...

2018-09-24 10:14:36

阅读数 62

评论数 0

[llvm] LLVM 核心类简明示例 : llvm::Value && llvm::Type && llvm::Constant

LLVM 核心类简明示例 : llvm::Value && llvm::Type && llvm::Constant llvm核心类位于 include/llvm/IR中,用以表示机器无关且表现力极强的...

2018-09-21 20:27:33

阅读数 249

评论数 0

Leetcode 25. Reverse Nodes in k-Group 以每组k个结点进行链表反转(链表)

题目描述 已知一个链表,每次对k个节点进行反转,最后返回反转后的链表 测试样例 Input: k = 2, 1->2->3->4->5 Output: 2->1->4...

2018-09-21 10:39:27

阅读数 89

评论数 0

C++20草案中的宇宙飞船运算符(spaceship operator)

C++20草案中的宇宙飞船运算符(<=>,spaceship operator) Herb Sutter提议的新三路运算符<=>已经被合入C++20草案中。 宇宙飞船运算符(...

2018-09-11 18:45:36

阅读数 1220

评论数 0

静态库(.a)与动态库(.so)的简明介绍

静态库(.a)与动态库(.so)的简明介绍 gcc有很多关于静态库,动态库的选项如-l,-L,-fPIC,-shared -Wl,-soname,看着很复杂容易混淆,其实静态库和动态库都是应需而生,只要有了一个线索都很容易理解。 普通编译 假设有三个文件(后面均使用这个例子): /...

2018-09-05 12:24:56

阅读数 85

评论数 0

Julia体验 语言特性 元编程,宏

上接语言基础,个人感觉这门语言和自己心中的理想国相距较远,乘着热情还在,我挑一些有趣的东西再写写。 元编程 元编程即对代码进行处理的代码,可以使用Meta.parse()解析出参数代码的类AST表示,也可以使用quote ... end简化: julia> mu...

2018-08-19 19:29:37

阅读数 169

评论数 0

Julia体验 语言基础

杂说 以前听说过Julia,不过那时候官网还处于时不时宕机状态,最近Julia发布了1.0 released版本到处都是它的资讯,官网良心自带简体中文,趁着热度我也来试试,顺便聊记一二。 关于Julia Julia源于用户需求。用户希望有一门开源的脚本编程语言,有C的高性能,Ruby的灵...

2018-08-15 18:52:01

阅读数 1672

评论数 0

Windows多个应用程序共享全局变量,静态变量

默认情况下exe不同实例使用copy-on-write技术避免共享数据,比如运行了两个exe,最开始它们使用的都是一份虚拟内存页,然后第一个实例修改了全局变量, 这时候COW就会复制那一页,然后将第一个进程地址空间对应页映射到新复制的页,第二个实例保持映射老的页。 但是如果真的需要多个实例共享...

2018-07-06 17:09:50

阅读数 214

评论数 0

clang -O3 for循环的LLVM IR

O3都是怪物,这里分析的是CLANG怪物,示例程序遍历数组每个元素然后放大。 void foreach_scale(int arr[],int elem){ for(int i=0;i<elem;i++){ arr[i] += (elem*1024)...

2018-06-23 17:41:07

阅读数 325

评论数 0

C++11 特性:成员函数引用限定 (Reference qualifier)

学了这么多年C++今天拜读scott meyes的more effective cpp第一次看到这种写法… 引用限定可以让成员函数只能被左值对象调用或者只能被右值对象调用: #include <iostream> struct Te...

2018-06-08 17:20:03

阅读数 399

评论数 2

那些十辈子追不上的大佬

2018.6.7

2018-06-07 10:59:34

阅读数 500

评论数 8

2018第九届蓝桥杯决赛(C++ B组)

逛了大半个北京还是挺好玩了,开心最重要。

2018-06-03 16:00:17

阅读数 1105

评论数 0

2017第八届蓝桥杯决赛(C++ B组)4.发现环

描述 小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路...

2018-05-14 17:48:21

阅读数 232

评论数 0

程序设计语言中的 一等公民,二等公民,三等公民

一等公民 一般来说,如果某程序设计语言中的一个值可以作为参数传递,可以从子程序中返回,可以赋值给变量,就称它为一等公民 二等公民 可以作为参数传递,但是不能从子程序中返回,也不能赋给变量 三等公民 它的值连作为参数传递都不行(比如label)...

2018-05-12 19:21:15

阅读数 1283

评论数 0

2017第八届蓝桥杯决赛(C++ B组)2.磁砖样式

磁砖样式 小明家的一面装饰墙原来是 3*10 的小方格。 现在手头有一批刚好能盖住2个小方格的长方形瓷砖。 瓷砖只有两种颜色:黄色和橙色。 小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来。 小明有个小小的强迫症:忍受不了任何2*2的小格子是同一种颜色。 (瓷砖不能切割,不能...

2018-05-12 19:18:29

阅读数 202

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭