タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

C言語に関するYoshiyaのブックマーク (4)

  • C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と

    C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
    Yoshiya
    Yoshiya 2024/06/11
    C言語の配列は0オリジンなので、例文の場合buf[0]からbuf[9]までが宣言されている。buf[10]のアドレスは指定されていないので、書き込もうとするとオーバーフローエラーが起こる。
  • 良いソフトウェアとコードレビュー / Good software and code review

    Scala + Caliban で作るGraphQL バックエンド / Making GraphQL Backend with Scala + Caliban

    良いソフトウェアとコードレビュー / Good software and code review
    Yoshiya
    Yoshiya 2024/01/31
    コードの可読性の説明でC言語を使っていましたが、30年前ならともかく今どきセミコロン区切りで複数の変数宣言したり、ループ処理に使う変数を予め変数宣言の場所で初期化したりしますか?悪い例のコードがひどすぎる
  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
  • C言語の開発者、デニス・リッチー氏が死去

    C言語およびUNIXの開発者の1人として知られるコンピュータ科学者のデニス・リッチー氏が亡くなった。享年70歳だった。同氏が2007年の引退後もコンサルティングをしていたベル研究所のジェオン・キム所長が公式ブログで明らかにした。 同氏の元同僚で現在Googleに務めるロブ・パイク氏のGoogle+への投稿によると、リッチー氏は先週末、長い闘病の末、ニュージャージー州の自宅で亡くなったという。 リッチー氏は1967年にベル研究所に入り、そこで開発したプログラミング言語のコンパイラをケン・トンプソン氏とともに発展させてC言語とした。また、同研究所で開発されたUNIXのC言語への書き換えを統括したことで、UNIXの父とも呼ばれる。リッチー氏とブライアン・カーニハン氏が1978年に出版した解説書「プログラミング言語C」は、現在も世界中で読み継がれている。リッチー氏は1983年にトンプソン氏とともに

    C言語の開発者、デニス・リッチー氏が死去
    Yoshiya
    Yoshiya 2011/10/14
    もしK&RのC言語解説書が無かったら、私はプログラマにならなかったと思う。合掌。
  • 1