C で書く現代的な Web アプリケーション
Corey Prophitt は、完全に C で書き、CGI 経由で配信する商用 Web 製品をリリースした。データベースは SQLite、配布物はバイナリひとつ。BCHS スタックが肩代わりしてくれた部分と、自分で書かねばならなかった部分をまとめる。
もっと見る C
ホームCorey Prophitt は、完全に C で書き、CGI 経由で配信する商用 Web 製品をリリースした。データベースは SQLite、配布物はバイナリひとつ。BCHS スタックが肩代わりしてくれた部分と、自分で書かねばならなかった部分をまとめる。
C 言語の小さな arena アロケータを解説する。解決するライフサイクル問題から、動く実装の構造体、アラインメント、realloc の経路まで。
2人の学生が、学校の自動採点器のすべての練習問題を通過する単一の解法を書こうとした。任意のコードを実行させるには、健全性チェックの目を盗んでC関数を呼び出す必要があり、そのコツは名前を書かずにそれらを呼び出すことだった。
メモリから鍵を消去するのはmemsetを呼ぶより難しい。最適化コンパイラはその書き込みを削除する権利があり、ストレージは保持されない可能性があり、コンパイラから隠すことにも代償がある。正しいゼロ化に関する連載の第1回。

著者が初めてCを書き、Kiloガイドに従ってターミナルエディタを作った:raw modeはtcgetattr/tcsetattr、バイトストリームをキー入力に解析(ANSIエスケープシーケンス含む)、ioctl(TIOCGWINSZ)でウィンドウサイズを取得、write()で行ごとに描画。サードパーティライブラリは一切不使用。

著者は算術式を二分木に変換するデータ構造の課題を出され、ついでに評価器を書き、数日後にはクロージャ、ガベージコレクション、カスタムメモリアロケータ、REPL、FFIを備えるまでになった。全文でCコードを示しながら段階的に解説する。