On Monday, 12 January 2015 at 09:00:58 UTC, Iain Buclaw via Digitalmars-d wrote:
On 12 January 2015 at 08:46, Mike via Digitalmars-d
<digitalmars-d@puremagic.com> wrote:
On Monday, 12 January 2015 at 05:59:36 UTC, NVolcz wrote:

Can this be done in D? How easy is it? What about the runtime?


https://www.reddit.com/r/programming/comments/2s1sgg/151byte_static_linux_binary_in_rust/


Here's a link to my 56 byte "Hello, World!" program for the ARM Cortex-M platform in D. And, if I only used the string "Hello!" like the rust
example, I believe it would be 47 bytes.

http://goo.gl/qWhpVX

Mike



Without performing any linker magic.

root@f6e559d2d853:~# cat > small.d << EOF
import core.stdc.stdio;
import core.stdc.stdlib;

extern(C) void main()
{
  printf("Hello!\n");
  exit(0);
}
EOF

root@f6e559d2d853:~# gdc -frelease -Os -nophoboslib
-fno-emit-moduleinfo -nostdlib --entry=main small.d -lc -o small

root@f6e559d2d853:~# wc -c small
2488 small

root@f6e559d2d853:~# ./small
Hello!

Would be considered linker magic to use _start(), write() and _exit() instead? :)

--
Paulo

Reply via email to