組み込みC/C++

C/C++リテラシー向上のためのページ

2013-04-01から1ヶ月間の記事一覧

古のコード①

一般的な開発というのは古くからの流用ソースを使いますのでレガシーコードの中に古の仕様を見ることが良くあります。 far と near 修飾子 これらの修飾子は16bitから32bitへの移行期に見られたマイコン独自に持つ修飾子です。概ねnear は2byte, farは4byte…

暗黙の型情報

関数プロトタイプの混乱①で一度暗黙の型情報に関して紹介しました。そんな中次のようなプログラムを見つけました。 型情報なしの関数 func_a(int x); int main(){ func_a(100); return 0; } func_a(int x) { printf("%d\n", x); return 0; } このプログラム…

ポインタでやってしまうミス①

ポインタのミスはやってしまいがちです。多くの場合はスコープの消滅に関連しているような気がします。というわけでポインタのミスのパターン化のために悪い例のプログラムを切り取っておこうかと思います。 Pattern 1 #include <stdio.h> char *foo; char *sub_routi</stdio.h>…

添字演算子と間接参照演算子の振る舞い

添字演算子[ ](ブラケット)と間接参照演算子*(アスタリスク)の振る舞いで迷わないために少しまとめておこうかと思います。 宣言時 char *foo = "abc"; char bar[ ] = "abc"; では確保するRAM(もしくはスタック)が異なります。間接参照演算子を使って初期化し…