BCB6编译器与以前版本的编译器的一个不兼容的问题

jishiping 2003-01-22 09:57:11
以前一直用BCB5写程序,昨天第一次用BCB6写程序,却发现一个严重的问题。请看一个简单的程序:
#include <stdio.h>
void main()
{
unsigned Type = 'OB';
printf("%hX", Type);
}
在这个简单的程序里,用BCB6以前的编译器编译时,输出424F(表示Type的值为0x424F),而用BCB6的编译器编译时,输出的却是4F42(表示Type的值为0x4F42)。就是说,BCB6处理类似'OB'这样的常数时,采用了BIG ENDIAN编码,而以前的编译器(从TurboC)开始,一直采用的是LITTLE ENDIAN编码。我不知道BCB6里是否有一个设定,有知道如何设定让BCB6的输出结果和以前一样的朋友,告诉我一下。如果最后没有办法的话,请大家以此为戒,不要在BCB6里使用'OB'、'BM'这样的写法。不过Windows的头文件里就有这样的定义,我还没有来得及测试,不知道是否也是这样。
...全文
140 66 打赏 收藏 转发到动态 举报
写回复
用AI写文章
66 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyer 2003-08-26
  • 打赏
  • 举报
回复
mark too.
wjlsmail 2003-08-05
  • 打赏
  • 举报
回复
Study
leeseon 2003-07-06
  • 打赏
  • 举报
回复
mark
kissfire 2003-07-02
  • 打赏
  • 举报
回复
I SEE
wjlsmail 2003-06-18
  • 打赏
  • 举报
回复
Study
halfdream 2003-05-31
  • 打赏
  • 举报
回复
哦。。来晚了。。。收藏之。

zywx 2003-05-21
  • 打赏
  • 举报
回复
以前在vc和bcb5下曾遇到过这种情况,vc6和bcb5的默认编译结果就不同的
leonpig 2003-05-17
  • 打赏
  • 举报
回复
真是受益菲浅,谢谢各位
dmsun 2003-05-16
  • 打赏
  • 举报
回复
在compiler里选中treate enum types as ints就可以了。
Gucai 2003-05-14
  • 打赏
  • 举报
回复
在IDE环境中加上-Vr和-w-mcc时,在Full debug时起作用,而在Release时不起作用,不知道为什么。
swotcoder 2003-04-22
  • 打赏
  • 举报
回复
lcc如同BCB5而且产生的文件仅仅只有5kb!

错了是2k :)
swotcoder 2003-04-22
  • 打赏
  • 举报
回复
intel 7.1 vc++ 12.0000.8804 都和BCB6一样
lcc如同BCB5而且产生的文件仅仅只有5kb!
佳岳 2003-04-09
  • 打赏
  • 举报
回复
写5 装 6 用的好 好看
没有发现什么 我是菜鸟
林步微步999 2003-04-06
  • 打赏
  • 举报
回复
update
dxqxiaoqiang 2003-03-25
  • 打赏
  • 举报
回复
mark
dmsun 2003-03-24
  • 打赏
  • 举报
回复
为什么unsigned Type 就可以,而Type就编译不过呢?
lya_lya 2003-03-23
  • 打赏
  • 举报
回复
!!!
dmsun 2003-03-20
  • 打赏
  • 举报
回复
Type何意?
%hX何意?
蠢蠢的问。
dark_will 2003-03-12
  • 打赏
  • 举报
回复
mark 一下!
root3 2003-03-10
  • 打赏
  • 举报
回复
厉害,我记住了,感谢大家
加载更多回复(46)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧