exeGCC

2009年11月13日

多くの CPU の命令セットでは、0 との比較を特別扱いしています。
そのため、ループを書く際には、なるべく 0 と比較するように書いた方が速いので良い、という主張をたまに聞きます。

しかし、一般的な for 文のイディオム for (i = 0; i < N; i++) を崩してまで、0 と比較するように書く意味が、本当にあるのでしょうか ? それぐらいは、現代のコンパイラならば勝手に最適化してくれそうな気もします。

というわけで、x86、ARM、SH、MIPS、PPC で検証してみました。

x86 は、手元の MinGW の gcc 4.4.0 です。
それ以外の CPU は、弊社の exeGCC 4 (GCC 4.3.3 ベース) を使用しました。最適化レベルは、全て一般的な -O2 です。(FPU は無関係だと思われるので、全て disable モードでコンパイルしています。)

続きを読む

2009年11月11日

これまで紹介してきたように、exeGCCのVLINK機能を使うと、ターゲット上で動くプログラムをまるでPARTNER-Jetの拡張機能のような雰囲気で動かすことができます。

今回はフラッシュメモリの書き込みプログラムの事例を紹介します。
続きを読む

2009年10月14日

前回exeGCCのVLINK機能を利用してPARTNERのコマンドウインドウで動く対話的なコンソールアプリケーションを作る例を紹介しました。今回は逆にバッチ処理で便利なようにVLINKでコマンドラインの引数を取得する例を紹介します。

続きを読む

2009年10月06日

前回exeGCCのVLINK機能を使ってターゲット側からホストPCの標準入出力を利用することができることを説明しました。

今回はコマンドウィンドウへのキー入力を拾って対話的なプログラムをつくる時の具体例を紹介します。

続きを読む

2009年09月28日

今日は弊社の製品であるexeGCCのVLINK(Virtual Link)機能について紹介します。

これはターゲットボードに弊社のPARTNER-Jetがつながっていれば、CPUとRAMしか動いていない状況でも使うことができます。

続きを読む

2009年08月07日

記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード