コース概要

はじめに

  • Cの特徴と応用の概要

開発環境の準備

  • IDEの選択
  • コンパイラの設定

サンプルプログラムの作成

  • 問題の定義
  • 要件に沿ってコーディングする

Cプログラムでの変数と関数のスコープの定義

  • スコープ、可視性、ライフタイムの理解
  • auto, extern, register, staticなどのストレージクラスの使用

Cプログラムでのデータ管理

  • 基本データ型以上のもの
  • 構造体、リンクリストなど高度なデータ型の使用
  • 同じメモリ位置に異なるデータ型を格納する

変数のプロパティの変更

  • 型修飾子以上のもの
  • const, volatileなどの型限定子の使用

Cでのビット操作

  • 1バイト未満のデータの扱い
  • ビット操作演算子の使用

プログラムの流れの制御

  • シーケンス以上のもの
  • goto文の使用

データの読み込みと書き込み

  • 入出力関数の概要
  • 出力の可読性の向上

クロスプラットフォームコードの開発

  • コンパイラディレクティブの理解
  • 条件付きコンパイル

プログラム性能の向上

  • マクロと関数の比較
  • プログラム断片を実行するためのマクロの定義

メモリの動的割り当て

  • ポインタを使用する利点:実行速度
  • 関数へのポインタ
  • メモリアクセスとアドレス操作

Cプログラムのデバッグ

  • エラーのチェック、検出、訂正のための高度な技術
  • gdb(Gnu Debugger)の使用

静的ライブラリの作成

  • 実行ファイルに静的ライブラリがリンクされる仕組み
  • 静的ライブラリの作成

共有ライブラリの作成

  • 静的ライブラリと共有ライブラリ(動的ライブラリ)の比較
  • 実行時に共有ライブラリがリンクされ、メモリに読み込まれる仕組み
  • 共有ライブラリの作成

プログラムでのデータの抽象化

  • インターフェース、仕様、実装の概要
  • 抽象データ型の作成
  • 抽象データ型のリグレッションテスト

データの検索とソート

  • 配列の線形検索、二分探索などの検索方法
  • 選択ソート、挿入ソート、バブルソートなどで配列をソートする

プロセス間通信とシグナル

  • プロセス、ソケット、シグナルの理解
  • 共有ファイル、共有メモリ、パイプ、メッセージキュー、ソケット、セマフォなどのIPCの実装

Cプログラムを並列で実行する

  • マルチスレッドによるプログラムの異なる部分の並列実行
  • スレッドの書き方

高度なネットワークプログラミング

  • TCP、UDP、IPなどの主要プロトコルの概要
  • 複数ポートへのサービス提供、突然のネットワーク障害の対処など
  • 強力なソケットAPIの書き方

高品質コードへ向けて

  • ピアレビューと並列プログラミング
  • 反復的なコーディング(リファクタリング)の重要性

まとめと結論

要求

  • Cプログラミング経験

対象者

  • プログラマ
  • 開発者
 28 時間

参加者の人数


参加者1人当たりの料金

お客様の声 (2)

今後のコース

関連カテゴリー