2012-04-29 4 views
0

Простой вопрос: делают ли длинные версии от архитектуры до архитектуры? Кажется, я вспоминаю некоторое время назад, что, когда мы перешли с 32-разрядной машины на 64-разрядную машину, длинные могут отличаться, но, как я сейчас проверяю, они кажутся одинаковыми (64-разрядное целое,).Longs & different architecture

Я спрашиваю, потому что я пишу код, который speccs в Int64s (C#), и хотя longs и Int64s кажутся одинаковыми на данный момент, проклятый автозаполнение нравится использовать longs вместо Int64s, который он видит как тоже самое. Чтобы спасти меня от времени, я должен позволить автозаполнять длинные звонки и спокойно спать, потому что они не будут меняться, если кто-то выйдет с 128-битным процессором завтра, или я должен приложить дополнительные усилия для обеспечения того, чтобы они были Int64s в указанном коде? И да, я знаю, что Int64 = длинный, насколько это касается текущей реализации.

+0

Посмотрите на название типа. –

ответ

2

В то время как в C размер long может отличаться, это well specified in C# должно быть 64-битным целым числом.

+0

И это отвечает на мой вопрос, так как моя программа будет использовать код C# и OpenCl (C99ish). Specc в longs для C# и Int64 для C. – user978122