[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00419] Re: DS!=SS 対応コンパイラ?



なるなると申します。

 > <200009021349.FCC87019.UNVOVB@piedey.co.jp>
 > From: autumn@piedey.co.jp
 > Date: Sat,  2 September 2000 13:49:02 +0900

 >  TurboC++の出力コードは、まさに、そのような対処を行っているものですから、
 > これは正常に動作すると考えて良いと思います。

そのとおりなんですが、ポインタは依然として near ですから、(「これでいいん
でしょうか ?」っていうような話だと) まだまだはまる余地は残っているような気
がします。


こんなのどうでしょう ? > 元記事の方

--
#define height(a) (sizeof(a) / sizeof((a)[0]))
/* #include <stdio.h> */

int foo(int n, char buf[])
{
	int tmp = 0;
	while (n-- > 0) {
		tmp += *buf++;
	}
	return tmp;
}

int main()
{
	int val;
	static char sbuf[] = { 1, 2, 3, 4};
	char buf[] = { 1, 2, 3, 4};

	val = foo(height(sbuf), sbuf);
	val = foo(height(buf), buf);
	/* printf("%d\n", val); */
}

# 実際に試していないので、気のせいだったらごめんなさい。



ML Archives