64-bit Coding

don't use -fpic and -mcmodel together with version 10 compiler

Version 10 of the Intel compiler for Intel 64 Linux does not support the use of both -fpic and -mcmodel medium (or -mcmodel large) on the same command line.
  • Linux*
  • C/C++
  • Fortran
  • 英特尔® C++ 编译器
  • Intel® Fortran Compiler
  • 64-bit Coding
  • shared objects
  • -fpic
  • -mcmodel
  • ClosedSWDefect
  • 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:

    Searching for explicit conversion of a pointer to a 32-bit type

    In Visual Studio C++ compiler, there is the warning C4311 ('variable' : pointer truncation from 'type' to 'type') intended to detect errors of casting a pointer to 32-bit data types. This warning corresponds to warning #810 in Intel C++. This is an example of the defect they diagnose:

    The reasons why 64-bit programs require more stack memory

    In forums, people often say that 64-bit versions of programs consume a larger amount of memory and stack. Saying so, they usually argue that the sizes of data have become twice larger. But this statement is unfounded since the size of most types (char, short, int, float) in the C/C++ language remains the same on 64-bit systems. Of course, for instance, the size of a pointer has increased but far not all the data in a program consist of pointers.

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

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

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

    Причины, по которым 64-битные программы требуют больше стековой памяти

    В форумах люди часто упоминают, что 64-битные версии программ поглощают больший объем памяти и стека. При этом обычно ссылаются на то, что размеры данных стали в 2 раза больше. Однако это необоснованное утверждение, так как размер большинства типов (char, short, int, float) в языке Си/Си++ остался прежним на 64-битных системах. Конечно, например, увеличился размер указателей, но ведь не все данные в программе состоят из указателей. Причины роста потребляемой памяти и стека более сложны.

    Best notes from OOO "Program Verification Systems" company's blog on parallel and 64-bit software development

    This text contains links to the best posts of the blog conducted by the workers of OOO "Program Verification Systems" company. The notes are devoted to the topic of 64-bit and parallel OpenMP software development.
  • 64-bit Coding
  • 64-bit
  • PVS-Studio
  • OpenMP*
  • 线程
  • Manage Thread-Stack Size in 64-bit UNIX


    Determine the default thread-stack size for a particular implementation of UNIX and adjust that size in your application. The operating system permits multiple threads of execution within a process's address space. Each thread is given its own execution context, including its own call/return stack. These stacks must be of sufficient size to store all of the likely call chains the thread might experience while it is running.

  • 64-bit Coding
  • 英特尔® 安腾® 处理器
  • 订阅 64-bit Coding