R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

今さら C 言語

最近、組み込み系の C 言語ばっかりやっている。
C 言語書いたのなんて XX 年ぶりなので「えっ、こんなんだったけ?」みたいなことが盛りだくさんです。

ということで、愚痴ってみる試み。

・型チェックがあまい
・ポインタ使わないと何もできない
・コレクションとか自作
・しかも再利用しにくい
・名前がバッティングすると怒る
・オーバーロードできない
・デリゲートって関数ポインタだと思っていたけど、ちょっと違う
・bool 型とか、string 型がない
・型宣言を先頭にまとめて書かないといけない

試しに、以下のように書いてみた。

void main() {
  Object* x = NewObject();
  :
  :
  :
  Destroy(x);
}

typedef struct _Object {
  int (*GetProperty)();
  void (*SetProperty)(int);
  void (*Method)();
} Object;
extern Object* NewObject();
extern void Destroy(Object* object);

C# が恋しい・・・(T-T)

投稿日時 : 2008年12月23日 15:07

Feedback

# re: 今さら C 言語 2008/12/23 15:37 インドリ

Cはエラーが発生しやすいから、CUnitと併用したらいいと思うピヨ♪
この記事なんか良いピヨ♪

http://codezine.jp/article/detail/1075?p=2

実はボクは今コンパイラ作っていて、epiさんの記事にお世話になったピヨ♪

# re: 今さら C 言語 2008/12/23 15:43 インドリ

Cといえば、フォーマット文字列の虚弱性が有名だね♪
組み込み系の場合は対策するのかな?

# re: 今さら C 言語 2008/12/23 18:08 アキラ

> フォーマット文字列の虚弱性が有名だね
最近のコンパイラは警告くらいは出してくれますね。
ただ、Cは型チェックがあまいので、警告しか出してくれないことが多いですね。

# re: 今さら C 言語 2008/12/23 18:36 インドリ

アキラさん有難う♪
やっぱりそうなんだ・・・
Cだから仕方ないよね♪

# re: 今さら C 言語 2008/12/24 8:30 774RR

どーでもいいですけど
s/Distroy/Destroy/g だと思うの心

# re: 今さら C 言語 2008/12/24 9:20 R・田中一郎

インドリ さん

>Cはエラーが発生しやすいから、CUnitと併用したらいいと思うピヨ♪

テスト環境があるんですね。
試してみます。ありがとうございます。

>Cといえば、フォーマット文字列の虚弱性が有名だね♪

ですね。
フリーで入力できるデータが 3 つ程度で、更に期待したデータのみ通すような設計にしているので大丈夫だとは思います。

------------------------------
アキラ さん

>ただ、Cは型チェックがあまいので、警告しか出してくれないことが多いですね。

書きながら神経をすり減らしています。

------------------------------
774RR さん

>どーでもいいですけど
>s/Distroy/Destroy/g だと思うの心

うわっ、やっちまっいやがりましたw
ついつい、指が dis ってタイプしちゃうんですよね。
修正します。ありがとうございました~

# re: 今さら C 言語 2008/12/24 9:28 774RR

まだ修正抜けてるよん
> ついつい、指が dis ってタイプしちゃうんですよね。
ついつい dis ってるのか・・・こわ

# re: 今さら C 言語 2008/12/24 9:34 ちゃっぴ

とりあえず。

IPA ISEC セキュア・プログラミング講座:C/C++言語編
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/clanguage.html

C/C++セキュアコーディング
http://www.ascii.co.jp/books/books/detail/4-7561-4823-9.shtml

# re: 今さら C 言語 2008/12/26 9:02 R・田中一郎

774RR さん

>まだ修正抜けてるよん

修正しておきました~
とんくすです~

--------------------------------
ちゃっぴ さん

>とりあえず。

ありがとうございます~
参考にさせていただきます。

タイトル
名前
Url
コメント