duangsuse::Echo
(好了谈正事 #project 放假只放中秋节一天... 整个的列表太大这里就不说了,只看假期做的 首先是一个 C 头文件, chinese.h “中文编程” 233333 🙈 当然只是语法结构上的,C 不支持非 ASCII 码内的标识符,百搭 然后是 Gekyll
Telegram
duangsues.is_a? SaltedFish
+ 首先让我解释对 Fushion App 的看法...
也是一个寒歌的作品,我觉得挺好的,虽然之前我明显不是这么想,但现在我明显是这个态度(
+ Gekyll
如题,是一个老项目的翻盘作吧,上周有新动态,可惜依然不完成
这次已经基本想好了,准备彻底整装待发,明天早上写 HTML templates
lib.rb 里放置生成器具后端(填充、输出到文件)的实现,而 CLI 类则负责其前端(设置后端生成器对象,启动生成过程),启动脚本文件只负责控制权转交 CLI 类
因为我的时间毕竟有限而且事有多所以...…
也是一个寒歌的作品,我觉得挺好的,虽然之前我明显不是这么想,但现在我明显是这个态度(
+ Gekyll
如题,是一个老项目的翻盘作吧,上周有新动态,可惜依然不完成
这次已经基本想好了,准备彻底整装待发,明天早上写 HTML templates
lib.rb 里放置生成器具后端(填充、输出到文件)的实现,而 CLI 类则负责其前端(设置后端生成器对象,启动生成过程),启动脚本文件只负责控制权转交 CLI 类
因为我的时间毕竟有限而且事有多所以...…
#backend #recommended
推荐两款 ANTLR 386 语法文件
MASM x86 汇编器语法
Intel 8086 汇编器语法.
推荐两款 ANTLR 386 语法文件
MASM x86 汇编器语法
Intel 8086 汇编器语法.
.386
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
szCaption db 'Hello', 0
szText db 'Hello, World!', 0
.code
start:
invoke MessageBox, NULL, offset szText, offset szCaption, MB_OK
invoke ExitProcess, NULL
end start
GitHub
antlr/grammars-v4
Grammars written for ANTLR v4; expectation that the grammars are free of actions. - antlr/grammars-v4
#PL #recommended #CS
https://sourceware.org/binutils/docs-2.31/as/index.html
GNU AS (binutils 2.31) 的手册
https://sourceware.org/binutils/docs-2.31/as/index.html
GNU AS (binutils 2.31) 的手册
https://www.gnu.org/software/libjit/doc/libjit_2.html#Features
LibJIT 也是一个 JIT 库
LibJIT 也是一个 JIT 库
#include <jit/jit.h>
int compile_mul_add(jit_function_t function)
{
jit_value_t x, y, z;
jit_value_t temp1, temp2;
x = jit_value_get_param(function, 0);
y = jit_value_get_param(function, 1);
z = jit_value_get_param(function, 2);
temp1 = jit_insn_mul(function, x, y);
temp2 = jit_insn_add(function, temp1, z);
jit_insn_return(function, temp2);
return 1;
}
int main(int argc, char **argv) {
jit_function_t function;
jit_context_t context;
context = jit_context_create();
jit_context_build_start(context);
jit_function_set_on_demand_compiler(function, compile_mul_add);
jit_type_t params[3];
jit_type_t signature;
params[0] = jit_type_int;
params[1] = jit_type_int;
params[2] = jit_type_int;
signature = jit_type_create_signature
(jit_abi_cdecl, jit_type_int, params, 3, 1);
function = jit_function_create(context, signature);
jit_function_compile(function);
jit_context_build_end(context);
jit_int arg1, arg2, arg3;
void *args[3];
jit_int result;
arg1 = 3;
arg2 = 5;
arg3 = 2;
args[0] = &arg1;
args[1] = &arg2;
args[2] = &arg3;
jit_function_apply(function, args, &result);
printf("mul_add(3, 5, 2) = %d\n", (int)result);
}
看来比较老,它的 Ruby 绑定已经不支持最新的 MRI 2.6,最新的 MRI 已经不用 Fixnum 了
而且是老到 MRI 已经不向前兼容了...
而且是老到 MRI 已经不向前兼容了...
CRuby 的
看来 LibJIT 虽然曾经维护良好,但是比较老了,也缺少贡献者更新绑定
Feature #12005: Unify Fixnum and Bignum into Integer
Fixnum 和 Bignum 2.4 时早合并成 Integer 了 🙈看来 LibJIT 虽然曾经维护良好,但是比较老了,也缺少贡献者更新绑定
#ifndef RUBY_INTEGER_UNIFICATIONruby/ruby #ed75b6b Integer unification macro
RUBY_EXTERN VALUE rb_cFixnum;
#endif
Feature #12005: Unify Fixnum and Bignum into Integer
GitHub
Integer unification macro · ruby/ruby@c071c05
* include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if
Integer is integrated. [ruby-core:75718][Bug #12427]
* include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum):
fallback...
Integer is integrated. [ruby-core:75718][Bug #12427]
* include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum):
fallback...
sudo dnf install glibc-static
cd libjit可是 libc 不知为何无法静态链接.... 😶
./bootstrap
make
sudo make install
pushd tutorial
clang -o test t1.c -ljit
popd
https://t.iss.one/dsuses/2280
Telegram
duangsues.is_a? SaltedFish
#include <stdio.h>
#include <jit/jit.h>
jit_context_t context;
int main(int argc, char **argv)
{
jit_type_t params[3];
jit_type_t signature;
jit_function_t function;
jit_value_t x, y, z;
jit_value_t temp1, temp2;
jit_int arg1,…
#include <jit/jit.h>
jit_context_t context;
int main(int argc, char **argv)
{
jit_type_t params[3];
jit_type_t signature;
jit_function_t function;
jit_value_t x, y, z;
jit_value_t temp1, temp2;
jit_int arg1,…
那为什么说我是“逆流而上“呢?#life #recommended #blog
很明显,在大家都疯了一般在学校里参加各种模拟测试时,我回家自学;在大家都去网吧,打游戏,谈恋爱,追电视剧时,我在写程序;大家都在参加各种比赛拿证的时候,我在社团泡着写程序;大家都在使用成熟框架写程序时,我不厌烦的去尝试自己实现基础功能。我看起来是最傻,最Low的那个臭屌丝,整天沉迷于好像没什么用的程序里,最后却比大多数嘲笑我的人跳的更高。
那为什么逆流的人很少能攀的更高呢?
逆流是一个非常危险的行为,如果把控不好方向很容易走歪。都听说过“博观而约取,厚积而薄发“,却很少有人懂得其本质。现在的人都太浮躁,被大量的毒鸡汤洗脑,希望能一夜成名。尤其是我们的同龄人和后辈,被现在一些不良之风带坏,梦想通过当网红打电竞一夜暴富,过上衣食无忧的生活;或者希望几年,几个月,甚至几周就精通一门专业技术,快速实现自己不切实际的梦想。无论是什么事,没有厚积,哪来的薄发!如果怀揣梦想,一定要脚踏实地的一步一个脚印去实现它,戒骄戒躁,才能有机会去实现它。
最后,任何一个人的成长道路都不是完全相同的,一定要结合自己的实际情况,选择适合自己的道路,并坚定的走下去。我相信任何人都能够逆流而上,活出自己的精彩。
"
谨以此文,纪念我18年的成长历程,送给我的学生,我的学弟学妹,我的后辈以及我自己,希望能够给更多的人启发而走出自己的道路。"来源请求?
另外 duangsuse 之前默写了一些语言名称 #PL #life
Lua C C++ C# Objective-C F# VisualC VisualBasic Basic JavaScript ActionScript Ruby Python Matlab Wolfram Octave Julia Java Kotlin Scala Clojure VHDL Prolog Algor96 Fortran Go
Perl Rust Swift Ada SmallTalk Logo Turtle Crystal Elvish EmacsLisp CommonLisp ChezScheme Racket Haskell Erlang Elixir Idris Dart COBOL Red
Tcl TypeScript RubyMotion Agda PHP REBOL Pascal Coq D OCaml ML Vala Squirrel GDScript
Lua C C++ C# Objective-C F# VisualC VisualBasic Basic JavaScript ActionScript Ruby Python Matlab Wolfram Octave Julia Java Kotlin Scala Clojure VHDL Prolog Algor96 Fortran Go
Perl Rust Swift Ada SmallTalk Logo Turtle Crystal Elvish EmacsLisp CommonLisp ChezScheme Racket Haskell Erlang Elixir Idris Dart COBOL Red
Tcl TypeScript RubyMotion Agda PHP REBOL Pascal Coq D OCaml ML Vala Squirrel GDScript