ブックマーク / zenn.dev/ri5255 (1)

  • 自作OSにprintfを実装する

    概要 printfに代表される可変長引数関数の仕組みを調べ、muslの実装を読み、それを自作OSにフルスクラッチで実装するという試みです。タイトルにはprintfとありますが、現状自作OSにメモリ管理機能なんてない(mallocなんてない)のでまずvsnprintfを実装し、それを用いてprintf(もどき)を作ることにします。環境はx64を前提とします。 標準ライブラリで実装してみる 最終的にはフルスクラッチで実装しますが、完成形を見ておこうということで標準ライブラリを用いて実装してみます。 #include <stdio.h> #include <stdarg.h> #define BUF_SIZ 100 void myprintf(char *fmt, ...) { char buf[BUF_SIZ]; va_list ap; int ret; va_start(ap, fmt);

    自作OSにprintfを実装する
  • 1