x64

64 bits, Wp64, Visual Studio 2008, Viva64 and all the rest...

The purpose of this article is to answer some questions related to safe port of C/C++ code on 64-bit systems. The article is written as an answer to the topic often discussed on forums and related to the use of /Wp64 key and Viva64 tool.
  • C/C++
  • Visual Studio
  • x64
  • 64-bit
  • /Wp64
  • Viva64
  • No Selection of "Use Intel C++" in Visual Studio 2010


    Problem : 
    No selection of "Use Intel C++" on the project context menu "Intel C++ Composer XE 2011" even the installation is successful.

    Environment : Any Windows x64 OS

    Root Cause : 
    Many people have been confused by the smaller package "Product for 64-bit(x64) development" with download file name "w_ccompxe_intel64_2011.8.278.exe". One important note is that this 64-bit package contains the "Intel® C++ Compiler XE for applications running on Intel-64" and the libraries.
  • Microsoft Windows* (XP, Vista, 7)
  • C/C++
  • Compilatore C++ Intel®
  • x64
  • VS2010
  • All about 64-bit programming in one place

    In this post I've collected a lot of links on the topic of 64-bit C/C++ software development. These include my articles and articles by my colleagues in the sphere of developing safe and efficient 64-bit code; FAQ's and a training course. There are also many reviews of third-party articles on 64-bit software development. Enjoy yourself studying the materials.

    1. Articles:

    Проблемы 64-битного кода в реальных программах: а что же Linux?

    Рассказывая про 64-битные ошибки, поджидающие программистов при миграции их программ, я часто слышу упреки: "Ну да, этот ваш Windows, он такой... Хорошо, что в Linux с 64-битным кодом проблем да-а-а-авно уже нет".

    Новые диагностические возможности, реализованные в PVS-Studio 3.60

    1. Устаревшие функции. Диагностическое сообщение V303.


    В Win64 API присутствует ряд функций, которые присутствуют для совместимости, хотя могут привести к возникновению ошибок в 64-битных программах. Классическим примером является функция SetWindowLong.
    LONG SetWindowLong(HWND hWnd, int nIndex, LONG dwNewLong);

    Тонкость с виртуальными функциями

    Решил записать один момент, связанный с виртуальными функциями, а то боюсь, что потом его забуду и случайно вновь вернусь к этому вопросу. :)

    В анализаторе Viva64 есть диагностика ошибок, возникающих в 64-битном коде, когда у виртуальных функций изменяется тип аргумента. Подробнее это описано в документации к продукту здесь: V301.

    Вот пример кода, где анализатор выдаст эти предупреждения:
    class A
    
    {
    
    public:
    
      virtual int x(unsigned) { return 1; }
    

    Issues of 64-bit code in real programs: virtual functions

    We have already written in our articles about one of the problems of code migration to 64-bit systems relating to incorrect overload of virtual functions. For example, our article "20 issues of porting C++ code on the 64-bit platform" was published in March, 2007 (although is still relevant). It described the issue of virtual functions. The point of the problem consists in the following. There is CWinApp class in MFC library which has WinHelp function:
    class CWinApp {
    ...

    64-битный мир становится ближе

    Занимаясь созданием инструментов для разработчиков 64-битных приложений, мы постоянно следим за ситуацией в мире. Какие выходят новые процессоры, какие новые операционные системы и технологии. Это нужно для того, чтобы понимать тенденции развития отрасли и в соответствии с этими тенденциями строить свои планы. Хочу привести небольшую заметку Евгения Рыжкова по поводу 64-битных версий операционной системы Windows.

    Iscriversi a x64