x64

The Chromium Embedded Framework (CEF for short) is an open source framework for embedding Chromium-based browsers in other applications. The base implementation is targeting C/C++ applications but ports for other languages exist (these include Java, C#, Delphi, Python). The nightly builds (for various systems and platforms) of CEF are available for download at https://cefbuilds.com/. These…

Read More Building the 64-bit version of Chromium Embedded Framework on Windows

I recently ran across a bug with an application ported to the x64 platform. After debugging the application the error turned to be due to integrals layout and casting. I think this is a typical example worth mentioning. It starts with this definition:

which is used for a combo box with SetItemData:

Notice…

Read More Typical error porting application from 32- to 64-bit

If you include in a VC++ project <mapidefs.h> and <sqltypes.h> and build for the x64 platform you get a redefinition error.

1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\sqltypes.h(283) : error C2371: ‘BOOKMARK’ : redefinition; different basic types 1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\MAPIDefS.h(1142) : see declaration of ‘BOOKMARK’ The reason is that BOOKMARK is defined in both files. This is…

Read More Redefinition of ‘BOOKMARK’

I’m using Red Gate’s .NET Reflector for decompiling .NET assemblies. It’s a great tool but it lacks, at least in the free version I’m using, information about the platform architecture of an assembly. Sometimes I want to know whether an assembly was built for Any CPU, x86 or x64. The tool that help you find…

Read More How To Determine the Platform Architecture for a .NET Assembly