Я кодирую для ОС или процессора?

Говорят, что, используя C / C ++, можно писать «собственные» программы, которые выполняются на платформе. Я не понимаю, что считается родным - архитектура процессора или версия ОС?

Например:

У меня 32-битный процессор и Windows 7 (32-битная), и я компилирую и генерирую файл .exe. Гарантированно ли он работает на любой 32-разрядной версии Windows 7? (32-разрядная версия Win 7 на 32- и 64-разрядных машинах)

Edit1 : Я не имел в виду здесь только ОС Windows. Мой пример можно распространить и на Linux. Например, создание исполняемого файла (по умолчанию a.out ) в 32-битной ОС Linux, работающей на 32-битном процессоре, а затем запуск его в 32-битной Linux на 64-битном процессоре.

Edit2 : Спасибо за ответы, но я также предполагал, что использую стандартные библиотеки и функции - ничего специфичного для ОС. Только один раз, указанный в стандарте ANSI или ISO C ++. Никаких ссылок на оконные системы для конкретных ОС или другие библиотеки. Спасибо

15
задан Sekhar 20 November 2010 в 10:05
поделиться