現地時間3月3日から10日にかけて、世界中のテレコムが注目するテクノロジーカンファレンスである「Mobile World Conference 2025」がバルセロナで開催されました。特に競争の激しいヨーロッパのマーケットでは、各社が生き残りをかけたイノベーションをたくさん生み出しています。5G/6G、エッジクラウド、新しい音声技術など、多くのキーワードが注目されています。
6. C言語の型 32bit/64bit
? http://ja.wikipedia.org/wiki/64ビット
type LP32 ILP32 LP64 ILP64 LLP64 yoya64
char 8 8 8 8 8 8
short 16 16 16 16 16 16
int 16 32 32 64 32 64
long 32 32 64 64 32 32
long long - - 64 64 64 64
void * 32 32 64 64 64 64
Linux,
MacOS
C99違反
なので駄目32bit機
Windows
VC++
7. C 言語の long
? 32ビットでは int と実質同じ
? 64ビットでは int と違う(かも)
– Linux, Mac とかは違う(int 32bit, long 64bit)
– Windows は同じらしい。(試してないけど、さっき
の図ではどちらも 32ビット)
8. ? 32bit long (int と long はどちらも 32bit)
? 問題なし (宣言について突っ込まないで下さい)
C言語のlong引数の罠
int a, x
long y;
a = foo (x ,y, z);
int foo(long x ,int y) {
….
}
z
y
x
z
y
x
z
y
z
y
x
z
yz z
9. ? 64bit long (int 32bit long 64bit)
? マズイ けど、宣言チェックでエラーに出来る
C言語のlong引数の罠
int a, x
long y;
a = foo (x ,y);
int foo(long x ,int y) {
….
}
y
x
y
x Y?
Y?
X?y