64位平台C/C++开发注意事项(转载)

转自http://coolshell.cn/articles/3512.html

http://www.viva64.com/en/l/上例出了28个在64位平台上使用C/C++开发的注意事项,对于进入64位时代的程序员应该去看看这28个事项, 相信对大家一点有帮助。

    • Lesson 01. What 64-bit systems are.
    • Lesson 02. Support of 32-bit applications.
    • Lesson 03. Porting code to 64-bit systems. The pros and cons.
    • Lesson 04. Creating the 64-bit configuration.
    • Lesson 05. Building a 64-bit application.
    • Lesson 06. Errors in 64-bit code.
    • Lesson 07. The issues of detecting 64-bit errors.
    • Lesson 08. Static analysis for detecting 64-bit errors.
    • Lesson 09. Pattern 01. Magic numbers.
    • Lesson 10. Pattern 02. Functions with variable number of arguments.
    • Lesson 11. Pattern 03. Shift operations.
    • Lesson 12. Pattern 04. Virtual functions.
    • Lesson 13. Pattern 05. Address arithmetic.
    • Lesson 14. Pattern 06. Changing an array’s type.
    • Lesson 15. Pattern 07. Pointer packing.
    • Lesson 16. Pattern 08. Memsize-types in unions.
    • Lesson 17. Pattern 09. Mixed arithmetic.
    • Lesson 18. Pattern 10. Storage of integer values in double.
    • Lesson 19. Pattern 11. Serialization and data interchange.
    • Lesson 20. Pattern 12. Exceptions.
    • Lesson 21. Pattern 13. Data alignment.
    • Lesson 22. Pattern 14. Overloaded functions.
    • Lesson 23. Pattern 15. Growth of structures’ sizes.
    • Lesson 24. Phantom errors.
    • Lesson 25. Working with patterns of 64-bit errors in practice.
    • Lesson 26. Optimization of 64-bit programs.
    • Lesson 27. Peculiarities of creating installers for a 64-bit environment.
    • Lesson 28. Estimating the cost of 64-bit migration of C/C++ applications.

http://www.cppblog.com/weiym/archive/2013/06/05/200819.html

时间: 2024-11-03 21:38:27

64位平台C/C++开发注意事项(转载)的相关文章

64位平台C/C++容易犯的错误

 64位平台的介绍 IA-64 is a 64-bit microprocessor architecture developed by Intel and Hewlett Packard companies together. It is implemented in Itanium and Itanium 2 microprocessors. To learn more about the architecture IA-64 see the following Wikipedia arti

手把手教你写Windows 64位平台调试器

本文网页排版有些差,已上传了doc,可以下载阅读.本文中的所有代码已打包,下载地址在此. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 手写一个调试器有助于我们理解hook.进程注入等底层黑客技术具体实现,在编写过程中需要涉及大

NET Framework 4.5新特性 (三)64位平台支持大于2 GB大小的数组

64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大有多少,一旦你使用大型矩阵和向量计算工作的时候,经常会抛出一个System.OutOfMemoryException异常,如下图所示: 参考程序 class Program { private static void Main(string[] args) { int arrysize = 150000000; var large=ne

32位平台代码向64位平台移植

1背景描述 从苹果A7处理器开始,就支持着两种不同的指令集:第一种为原有处理器所支持的32-bit ARM指令集,第二种为崭新的64-bit ARM体系结构.这种64-bit体系结构拥有更大的地址空间,最大支持16GB内存,同时它一次性可提取64位数据,比32-bit体系提高了一倍.现如今,苹果的LLVM编译器已经能够充分支持64-bit指令集. 正如苹果A7处理器一样,支持64-bit指令集的处理器已经很普遍了,如AMD公司的AMD-64.Intel公司的EM64T及IA-64.处理器属于硬件

关于64位Linux配置android开发环境出现 No such file or directory

前几天在64位系统上部署android开发环境的时候出现了这种问题 /aapt: No such file or directory 通过谷老师,知道原理android SDK里面的程序全是32位的,没有64位的.不知道为啥要写个x64, 我们仅仅要安装一下32位的执行库即可了,sudo apt-get install ia32-libs,就这么简单,一键搞定. 关于64位Linux配置android开发环境出现 No such file or directory,布布扣,bubuko.com

64位ubuntu下Android开发环境的配置

本文介绍如何在64位ubuntu上搭建android的开发环境. 系统:ubuntu12.04LTS 使用的是ADT Bundle for Linux和jdk1.7(open jdk也可) 一共分为3步走: 1.配置JDK 安装Open jdk $sudo apt-get install openjdk-7-jdk 或 从oracle官网下载 从官网下载JDK64位版 解压安装 将解压出的文件用最高权限复制到/usr/lib/jvm里 sudo cp -r ~/jdk1.7/ /usr/lib/

32/64位平台printf uint64的方法

在32位平台 typedef unsigned long long int  uint64_t;在64位平台 typedef unsigned long int   uint64_t;不同的typedef,要求在printf中使用不同的length modifier,uint64_t 在32位使用ll,在64位使用l.除了定义数据类型,C99还定义了相应数据类型的打印方式,使用PRIu64打印uint64,举例如下: 1 #include <stdio.h> 2 #include <in

64位Linux下安装软件注意事项

执行到./configure --enable-shared一步时提示: checking host system type... Invalid configuration `x86_64-unknown-linux-gnu ': machine `x86_64-unknown ' not recognized 解决办法:cp /usr/share/libtool/config.guess .  (覆盖到相关软件自带的config.guess,t1lib在解压包的ac-tools下) cp /

如何在64位版本Linux上开发运行32位应用程序

最近换了Linux系统,由i686换成了x86-64,导致在进行开发的时候出用不了原来SDK中32位的开发工具.于是,博主找到如下文章,博主亲测实用: 如何在64位版本Linux上开发运行32位应用程序 内容如下: 很多程序员(特别是别的公司的)跟我抱怨说他们32位软件无法在我们的64位Linux系统上正常运行,而在他们32位机上正常,其实这个很好解决,一般 是64位系统安装后没有默认安装glibc的32位版本,通过简单的执行以下命令即可实现在64位Linux系统上开发运行32位应用程序,而不用