duangsuse::Echo
718 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
抱歉有一点杂事,所以现在才回来,这个... 由于我不清楚 QQQ 的具体循环分支语义,所以某些东西肯定有差异,暂时不写这个了,欢迎 dalao 参观吐槽
一共 132 行未压行的 C99 代码

Makefile 一行:

qqq:
duangsuse::Echo
qqq.c
另外有一块堆内存我没 free... 要用的时候记得自己 free free(tqvm->tape_ptr);
typedef struct qqqvm_st {
int *tape_ptr;
size_t tape_size;

size_t cell_ptr;
} TQVM;

int main(int argc, char *argv[]) {
TQVM tqvm;
TQVM_InitiateVM(&tqvm);

if (argc > 1)
TQVM_GrowHeap(&tqvm, atoi(argv[1]));

TQVM_Interpret(&tqvm, getchar);

TQVM_DebugBuffer(&tqvm);

printf("\nFinised QQQVM at 0x%x with final heap size %i and cell pointer to %i\n",
&tqvm, tqvm.tape_size, tqvm.cell_ptr);

return tqvm.cell_ptr;
}
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from METO 的涂鸦板
🚀Babel 7 发布了,新版正式支持转译 TypeScript.
「CDECL」C 语言标准调用模式(x86 架构中)

+ 函数实参在线程栈上按照从右至左的顺序依次压栈
+ 函数结果保存在寄存器EAX/AX/AL中
+ 浮点型结果存放在寄存器ST0中
+ 编译后的函数名前缀以一个下划线字符
+ 调用者负责从线程栈中弹出实参(即清栈)
+ 8比特或者16比特长的整形实参提升为32比特长。
+ 受到函数调用影响的寄存器(volatile registers):EAX, ECX, EDX, ST0 - ST7, ES, GS
+ 不受函数调用影响的寄存器: EBX, EBP, ESP, EDI, ESI, CS, DS
+ RET指令从函数被调用者返回到调用者(实质上是读取寄存器EBP所指的线程栈之处保存的函数返回地址并加载到IP寄存器)

GCC的函数返回值都是由调用者分配空间,并把该空间的地址作为隐式参数传递给被调函数,而不使用寄存器EAX。GCC自4.5版本开始,调用函数时,堆栈上的数据必须以16B对齐(之前的版本只需要4B对齐即可)。
Forwarded from LWL 的基地台
ACM:喵喵喵?
Forwarded from dnaugsuz
 #include "gc.h"
#include <assert.h>
#include <stdio.h>

int main()
{
int i;

GC_INIT();
for(i = 0; i < 10000000; I)
{
int **p = (int **) GC_MALLOC(sizeof (int *));
int *q = (int *) GC_MALLOC_ATOMIC(sizeof (int));

assert(*p == 0);
*p = (int *) GC_REALLOC(q, 2 * sizeof (int));
if(i % 100000 == 0)
printf("Heap size = %d\n", GC_get_heap_size());
}

return 0;
}
给大家科普 x86 实模式(其实我也没怎么看)

https://wiki.osdev.org/Real_Mode

Real Mode is a simplistic 16-bit mode that is present on all x86 processors. Real Mode was the first x86 mode design and was used by many early operating systems before the birth of Protected Mode. For compatibility purposes, all x86 processors begin execution in Real Mode.
另外通知一下呢,duangsuse 不是 Mozilla 员工或者后端大佬。duangsuse 是某种程度上的菜鸡,如果发了看不懂或者不感兴趣... 请允许 duangsuse 继续发 🙈

虽然看来呢,Telegram 上比 duangsuse 在某些程度上不会搞事的人有一点点,但是,duangsuse 知道真正的世界 Telegram 只有一小部分,所以红黑树和 combinator 都不懂的 duangsuse 无法是 dalao(
duangsuse::Echo pinned «另外通知一下呢,duangsuse 不是 Mozilla 员工或者后端大佬。duangsuse 是某种程度上的菜鸡,如果发了看不懂或者不感兴趣... 请允许 duangsuse 继续发 🙈 虽然看来呢,Telegram 上比 duangsuse 在某些程度上不会搞事的人有一点点,但是,duangsuse 知道真正的世界 Telegram 只有一小部分,所以红黑树和 combinator 都不懂的 duangsuse 无法是 dalao(»
分享 Ruby 1.2 的繖列表和 GC 代码