关于不同的编译器使用过程中遇到的问题!

原创 2011年01月09日 00:44:00

1.long double支持的问题

 

测试程序:

 

 (1)Tiny C

              编译0警告,0错误

              执行,scanf无法接受数据

(2)MinGW

              编译警告,不认识“L”格式字符

              执行,scanf无法接受数据

(3)微软VC2005-2010

            编译警告scanf过时,推荐用scanf_s代替 0错误

           忽略警告,执行成功,一切正常。

           发现微软VC中double 和long double都是8个字节,也就是说微软实际上是伪支持long double,而TCC和MinGW中都是12个字节的long double。

           难怪不出问题

 

1,2的失败的原因是因为调用的是微软的C运行时库,而微软本来就不是真正的支持long double.不过连L这个格式字符串都识别不了,说明MinGW还是做的不够好。这是标准C的应该支持的东西。MinGW对C++编译的时候调用的是GCC的库,因此采用C++文件,cin和cout是可以输入输出真正的long double的。

  (4) borland c++ 5.5.1

  这个方面表现最好的是bc++.

  编译0警告,0错误

  执行,全部正确

  Bc真正支持long double,和Gcc不一样,bc的long double  是10个字节,非常符合IEEE标准。

(5)Digital Mars C/C++ Compilers

   这个编译器非常不错,表现和borland C++编译器一样。

   编译0警告,0错误

   执行,全部正确,真正支持long double,长度也是10。

  但是编译出来的执行文件比b还要小。

(6)openwatcom c++ 1.9

 这个编译器表现和VC非常相似。

  编译0警告,0错误

  执行,全部正确。

  只是他的long double是8个字节的,和微软一样,其实就是double,是假支持。

编译出来的文件比较小,和DM相当。

这个编译器的附件工具做的很好,特别是那个图形化的调试器,还不错。

 

 

 

2。局部变量定义的问题

 

  在VC中如果建立C语言程序,局部变量的定义必须放在开始,不能插在两个执行语句之间,否则编译通不过!

 但是在VC中,如果建立的是C++文件,则没有这个问题。

borlandC++的表现一样,对C语言不允许在语句之间定义局部变量。

 

但是在CB中,采用DM编译器,TinyC编译器,MINGW编译器,确都没有这个问题,要知道TCC是纯C编译器。

采用MinGW测试,也没有这个问题。这是否说明DM,TCC和MinGW在C支持方面比微软更加灵活?呵呵。

 

 

 

 

PowerDesigner常用问题总结

1、PD的cdm中默认不允许存在重名的字段  PowerDesigner考虑到主键外键名称可能冲突的问题,默认两个不同实体中不能存在相同名称的属性,但在实际设计的时候,为了便于理解,通常需要在两个实...
  • seven_zhao
  • seven_zhao
  • 2015年08月12日 15:24
  • 1115

解决网页开发过程中遇到的问题以及思路

1:js中的运算问题 js中变量的声明:如果在 var 语句中没有初始化变量,变量自动取 JavaScript值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 Ja...
  • huangwwu11
  • huangwwu11
  • 2013年07月18日 16:41
  • 1696

selenium使用过程中遇到的问题

本文转载自http://blog.csdn.net/funi16/article/details/9036753 1、Exception in thread "main" org.openqa.s...
  • zhu_hua_jie
  • zhu_hua_jie
  • 2015年04月20日 13:39
  • 2753

Unity使用过程中遇到的问题

NGUI导入后出错
  • nicolelili1
  • nicolelili1
  • 2017年06月14日 18:39
  • 303

Ibatis使用过程中遇到的问题。

严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creatin...
  • du_an_a_nuo
  • du_an_a_nuo
  • 2016年03月15日 10:32
  • 1031

Ubuntu使用过程中遇到的问题

将./添加到PATH 目的 编写的脚本文件test.py,赋予执行权限之后,每一次都需下面的命令来执行。想要省去./ ./test.py 变成 test.py 临时方法 在终端中...
  • xuezhisdc
  • xuezhisdc
  • 2015年06月29日 15:26
  • 430

AFNetworking2.x 使用过程中遇到的问题

1.//下面写一下关于AFNetworking2.0的GET数据请求问题,刚开始的时候没有写下面标红的代码,所以导致有一个问题,错误显示如下: Error: Error Domain=AFNetwo...
  • mdk132
  • mdk132
  • 2014年05月23日 10:11
  • 2026

MyEclipse使用过程中遇到的问题

1.MyEclipse安装过程,无法破解 一开始我装的是10.5和10.6的版本,一直破解不成功,最后换成10.0版本和相应版本的破解软件就搞定了 2.新建一个WEB项目 2.导入struts2的...
  • waitfor_
  • waitfor_
  • 2013年03月09日 14:32
  • 1025

Appium使用过程中遇到的问题

urllib2.URLError: 是因为ie局域网 设置了代理   输入中文: 'unicodeKeyboard':True, 'resetKeyboard':True 要注意的是True不是字符串...
  • dubinglin
  • dubinglin
  • 2017年03月23日 15:20
  • 958

数据库使用过程中遇到的问题

最近在学习的时候,用到了数据库,在打开数据库的时候,结果数据库打不开了,本着遇到问题解决问题的态度,成功解决了,开心。下面就来看看小编都遇到什么问题了吧。...
  • zmh458
  • zmh458
  • 2017年05月21日 21:36
  • 511
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于不同的编译器使用过程中遇到的问题!
举报原因:
原因补充:

(最多只允许输入30个字)