能不能自己写输入输出函数?
如题!谢谢
完全可以。
一种方法是利用不定参数宏(va_list, va_arg, va_start, va_end)及系统输入输出函数包装一下,这种方法是“假”的实现。
另一种方法就是设计上下文无关文法进行格式化字符串的分析,创建并修饰分析树,实现输入输出部分需要用到内嵌汇编。
那个输入输出使用汇编部分我没有实现过,理论上是这样;不过格式化字符串语法分析我实现过,完全可行;具体文法可以参考msdn
如果要真正意义上的实现一个printf函数,你需要的知识是C语言基础,数据结构,编译原理,汇编