• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 编程开发 >> 编程基础 >> 详细内容
 

推荐文章

 
 

热点文章

  • 编程基础:什么是计算机语言
  • 编程注意事项
  • 64bit 编程注意事项
  • [多图]中文分词技术实验:百度、雅虎、谷歌大比拼
  • 中文分词的简要实现
  • 中文分词技术详解
 
 

相关文章

  • 编程注意事项
  • 专访庄表伟:由禅宗教你怎样进入编程世界
  • Oracle9i的索引监视及注意事项
  • 保护MySQL数据库中重要数据的注意事项
  • MYSQL到ORACLE程序迁移的注意事项
  • 在服务器上安装使用MySQL的注意事项
  • 简单介绍MySQL API编程
  • 在服务器上安装和使用MySQL的注意事项
  • 在服务器上安装、使用MySQL的注意事项(1)
  • 在服务器上安装、使用MySQL的注意事项(2)
  • 在服务器上安装、使用MySQL的注意事项
  • 探讨SQL Server 2005.NET CLR编程
 
 

百度搜索

 
 

64bit 编程注意事项

  • 阅览次数:
  • 文章来源: CodePub整理
  • 原文作者:
  • 整理日期: 2008-03-13
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

在64bit下, sizeof(int)=4, sizeof(long, char*, void*)=8. 所以将程序扩展至64bit很简单, 只需在平时注意int, long的区别即可.
 
(1) 如果函数的参数可能被赋值为指针, 必须用long或ULONG, 不能用int, DWORD, 等. 比如
      int test(int wParam, int lParam);
 
      test((int)&value, (int)&ID);
 
      这种写法在32bit下没问题, 64bit就会出问题. 所以正确的写法是
 
      int test(long wParam, long lParam);
 
 
(2) 返回值也是如此, 如果函数的返回值可能返回指针, 必须用long或ULONG.
 
     int Test(long lParam, long lParam)
     {
          if(...)  return 123;
          else return (int)&value;
     }
 
 
     正确的写法是 long Test..
 
 
(3)  结构体也是如此. 如果一个变量可能保存地址, 用long, 而不是int.
 
     typedef struct
     {
 
           ....
 
           long  reservedValue;
 
      }...;

上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号