首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hello World的秘密

后记:系统调用不同于普通的函数调用,是操作系统提供的接口,需要从用户态进入内核态才能完成,虽然没有发生进程的切换,但是在内核态依然要保存用户态的一些上下文,这样才能恢复用户态程序的运行。C函数库在应用程序和操作系统之间起到了重要的桥梁作用,它不仅仅是像本文中的hello world那样做一个简单的中转,还可能会封装底层的系统调用,提供更高级的功能。比如存储空间的分配和回收,可以有很多算法(最佳适应,首次适应等), 但是Unix提供的系统调用是sbrk,只会按照字节数增加或减少进程地址空间,这对应用程序来说是不够的,这时候C函数库的封装函数malloc就可以发挥作用了。

文章中hello world的参数特别简单,放到寄存器中就可以了,如果参数特别多,就需要在内存中开辟一段区域,把参数放入其中,然后把这个区域的指针放入到寄存器中来传递。

在公众号回复关键字“漫画”,即可看到漫画全集

相关漫画

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191212A04HY600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券