既然c语言函数就是“代码块”,那像printf()等所有c语言函数都可以自己写出来了
【既然c语言函数就是“代码块”,那像printf()等所有c语言函数都可以自己写出来了】 是的,建议你读读P.J. Plauger的The C Standard Library
你就明白为什么能自己写出来,以及为什么大家不自己写出来了。
■网友
printf在linux中调用write,write调用软中断0x80的一个功能子集,这个功能子集就是往线性地址0xb8000处,写入ascii,要写一个printf你首先得能在gdt或者ldt中注册一个线性地址,然后在idt中注册中断描述符,之后写出中断,问题是这些操作必须是编写内核才能办到,因为有些指令只能在0权级使用。为了写内核你必须回16位和32位汇编,所以这些函数库函数劝你还是不要去研究了,没意思
■网友
是的,不过你也许需要顺便写一个Linux内核什么的。。
■网友
当然可以。你把printf定义成贪吃蛇都可以。
推荐阅读
- OC为何跌出语言榜前十
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 人民车市|新语言、新起点,捷达VS7 强势入局
- C语言 指针引用数组的地址问题
- 英雄联盟盒子/大脚为啥要下线换肤功能?
- 零基础入门学习啥语言好
- 营销型外贸网站用哪种建站程序和语言比较好呢主要是适合优化,可扩展兼容性,安全性,后期网站扩展升级
- 有哪些轻易就被识别的淘宝刷单评论语言
- 关于考研和工作,有些迷茫。
- 既然c程序编译为机器码直接操作硬件,为啥不同操作系统下需要重新编译
