Next: , Up: Compilers and Preprocessors   [Contents][Index]


5.10.1 ÆÃÄê¤Î¥³¥ó¥Ñ¥¤¥é¤ÎÆÃħ

¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¤Ï°Û¤Ê¤ëưºî¤ò¼¨¤¹¤â¤Î¤â¤¢¤ê¤Þ¤¹¡¥

¥¹¥¿¥Æ¥£¥Ã¥¯/¥À¥¤¥Ê¥ß¥Ã¥¯¤Ê¼°

Autoconf¤Ï¡¤C¥³¥ó¥Ñ¥¤¥é¤«¤é¤Î¾ðÊó¤Î1¥Ó¥Ã¥È¤òÃê½Ð¤¹¤ë¥È¥ê¥Ã¥¯¤ò¿®Íꤷ¤Æ¤¤ ¤Þ¤¹¡¥Éé¤ÎÇÛÎó¤ÎÂ礭¤µ¤ò»ÈÍѤ·¤Þ¤¹¡¥Î㤨¤Ð¡¤°Ê²¼¤ÎC¥½¡¼¥¹¤Î°úÍѤǡ¤ ‘int’ ¤¬4¥Ð¥¤¥ÈŤ«¤É¤¦¤«¤ò¥Æ¥¹¥È¤¹¤ëÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡¥

int
main (void)
{
  static int test_array [sizeof (int) == 4 ? 1 : -1];
  test_array [0] = 0
  return 0;
}

ÃΤäƤ¤¤ë¸Â¤ê¤Ç¤Ï¡¤¤³¤Î¥È¥ê¥Ã¥¯¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¥³¥ó¥Ñ¥¤¥é¤Ï°ì¤Ä¤Ç¤¹¡¥¤½ ¤ì¤ÏHP-UX 11.00¤ÎHP¤ÎC¥³¥ó¥Ñ¥¤¥é¤Ç¤¹(“¥Ð¥ó¥É¥ë”¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤À¤±¤Ç¤Ï ¤Ê¤¯¡¤¼ÂºÝ¤Î¤â¤Î¤â¤½¤¦¤Ç¤¹)¡¥

$ cc -c -Ae +O2 +Onolimit conftest.c
cc: "conftest.c": error 1879: Variable-length arrays cannot \
    have static storage.

Autoconf¤Ï¡¤Èæ³Ó¤¹¤ëÁ°¤Ësizeof (int)¤òlong¤Ë¥­¥ã¥¹¥È¤¹¤ë¤³ ¤È¤Ç¡¤¤³¤ÎÌäÂê¤ò²ò·è¤·¤Þ¤¹¡¥