نوشته‌های ترمینالی
2.65K subscribers
425 photos
12 videos
32 files
2.25K links
Download Telegram
برای کامپایل برنامه گو از لینوکس به مقصد ویندوز
GOOS=windows GOARCH=amd64 go build

(دقت کنید همش تو یه خط باشه)

مطالعه بیشتر:
https://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5
توی برنامه‌نویسی کپی‌پیست نکنید.
اگر دارید کپی‌پیست می‌کنید یه مشکلی هست.
دستگاه Duff:
تکنیکی برای راحت تر کردن loop unroll وقتی که تعداد چرخش به تعداد unfold کردن بخش پذیر نیست.

کد اولیه:
send(to, from, count)
register short *to, *from;
register count;
{
do { /* count > 0 assumed */
*to = *from++;
} while (--count > 0);
}



کد unfold شده معمولی:

send(to, from, count)
register short *to, *from;
register count;
{
register n = count / 8;
do {
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
*to = *from++;
} while (--n > 0);
}


کد Duff machine (که هر تعداد n رو ساپورت می‌کنه)
send(to, from, count)
register short *to, *from;
register count;
{
register n = (count + 7) / 8;
switch (count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}
}



https://en.wikipedia.org/wiki/Duff%27s_device
این دنیا هی عجیب تر میشه.
یه زبان بوده به اسم Go! قبل از go که مال گوگله.
طرف اسم کتاب اموزشیشم گذاشته let's go
https://www.lulu.com/content/paperback-book/lets-go/641689

حالا گوگل میاد و زبانش رو به اسم go میده (بدون !)

اینم ایشوی خالق Go! روی go که جزو غمگین‌ترین ایشوهایی بود که دیده بودم.

https://github.com/golang/go/issues/9


حالا این وسط کاربرا میگفتن به گوگل که اسم زبانش رو بذاره issue9 (سر اینکه شماره این ایشو، ۹ بوده)

آخرم گوگل کاری نکرد! بعد ۲ سال و ۱۲۰۰ تا دیالوگ توی issue، اون ایشو رو بست و تگ unfortunate زدن بهش.

به جز خود issue می‌تونید اینجا هم یه سری چیز در مورد داستان بخونید
https://news.ycombinator.com/item?id=935674
اره برای منم pretty clear بود. :))
Forwarded from memealloc
Dealing with open source issues be like...

@memealloc
ساپورت کرنل لینوکس از binaryها با فرمت غیر طبیعی با binfmt_misc

مثلا .class جاوا رو می‌تونین با
./MyClass.class
اجرا کنید!
https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html