Advertisement

最简程序TinyhelloWorld

阅读量:

PS:近期正在阅读一本名为《程序员的自我修养》的书籍,书中深入探讨了程序底层的诸多内容,包括程序格式、链接、库以及编译等相关知识。我认为这正是我所需要的资料。在公交车上看到相关内容后,回到家中便迫不及待地开始进行实践。这验证了那句名言:“真正的程序员清楚了解其程序的每一个字节”。

------------------------------------------------------LET‘S START---------------------------------------------------------------

这个helloworld程序与常规的helloworld存在差异。

首先,它无需使用include来调用printf函数,能够独立运行。

其次,其入口函数并非我们熟悉的main函数,而是nomain函数。

最后,传统的helloworld程序会产生多个段如.text和.rodata等。而在本mini程序中,我们通过控制链接过程将所有段合并到一个名为“tinytext”的段中。

开始吧:

TinyHelloWorld.c的源代码如下:

char* str="Hello world!\n";

void print()

{

asm("movl $13,%ex \n\t"

"movl %0,%ex \n\t"

"movl $0

全部评论 (0)

还没有任何评论哟~