Keil Logo

µVision4 と C の相違点

ANSI C と、µVision4 のデバッグユーザ関数およびシグナル関数でサポートされている機能のサブセットには、数多くの違いがあります。

  • µVision4 には大文字と小文字の区別がありません。オブジェクト名と制御ステートメントは大文字と小文字のどちらでも記述できます。
  • µVision4 にはプリプロセッサがありません。#define#include#ifdef などのプリプロセッサディレクティブはサポートされていません。
  • µVision4 ではグローバル宣言がサポートされていません。スカラ変数は関数定義内で宣言する必要があります。DEFINE コマンドを使用してシンボルを定義し、グローバル変数のように使用できます。
  • µVision4 では、変数は宣言時に初期化されません。明示的な代入文を使用して、変数を初期化する必要があります。
  • µVision4 の関数ではスカラ変数型のみがサポートされています。構造体、配列、ポインタは使用できません。これは関数戻り値型と関数パラメータに該当します。
  • µVision4 の関数ではスカラ変数型のみが返されます。ポインタと構造体は返されません。
  • µVision4 の関数を再帰的に呼び出すことはできません。関数の実行時に µVision4 は再帰的呼び出しを認識し、呼び出しが検出されると関数の実行を中止します。
  • µVision4 の関数は、関数名を使用して直接呼び出されます。ポインタ経由の間接的な関数の呼び出しはサポートされていません。
  • µVision4 では、パラメータリストを使用した関数宣言について ANSI スタイルのみがサポートされています。以前の K&R 形式はサポートされていません。例えば、次のような ANSI スタイルの関数を使用できます。
func test (int pa1, int pa2)  {    /* ANSI type, correct */
  /* ...  */
}

次のような K&R スタイルの関数は使用できません。

func test (pa1, pa2)                     /* Old K&R style is */
int pa1, pa2;                               /* not supported */
{
  /* ... */
}
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.