编程错误记录(1)

原创 2012年03月29日 20:02:18

    1, 在程序里大小写有差别,但是编译器不能报错。如果一不小心把一个变量搞混淆了,后果很严重。我曾在程序里定义一个变量,int K(大写);使用的时候,又是用的小写k。导致数据没有正确读到。这个小bug找了很久才发现;

    2,float  k=1/5; 调试居然结果为0。

     float  k=1.0/5.0; 结果就是正确的,为0.2.  要注意。

    3,for循环执行流程: 在for循环里面,第一次进去后,对条件进行判断,如果条件成立,执行循环体一次;如果不成立就会马上跳出。

        注意:如果条件不成立时,不会计算表达式3,而是直接跳出。


  4,在使用OpenGL中的Glut库时,有时会出现 unresolved external symbol ___glutInitWithExit@12 类似的错误。编译显示如下:

   cg_h.obj    :    error    LNK2001:    unresolved    external    symbol    ___glutInitWithExit@12   
   cg_h.obj    :    error    LNK2001:    unresolved    external    symbol            ___glutCreateWindowWithExit@8 

     在网上搜了一下,解决方法是: 在main.c 的 #include <GL/glut.h>之前添加 #define GLUT_DISABLE_ATEXIT_HACK  。使用这种方法,成功。至于问题出现的原因,据说是Glut版本有了变化。  所以,解决此问题的另一种方法是 重新下载Glut.h, Glut32.lib  Glut32.dll。(不过重新下载的这种方法我没进行验证)。


5, 在编译时,出现“unresolved external symbol -winmain@16” 的错误 。原因在于在建项目时本应是Win32 Console Application,却建成了Win32 Application。解决方法:因为已经建好了,只能在建好的基础上修改。即设置:
                     [Project] --> [Settings] --> 选择"Link"属性页,
                    在Project Options中将/subsystem:windows改成/subsystem:console
                    注意:后边的/incremental:yes也得去掉。

                      更多此类问题,请见 http://blog.sina.com.cn/s/blog_61c68e730100ezxl.html


6,  编写程序时,难免会从网上Copy代码。 一方面有 空格字符不能属别的情况! 另一方面是 由于网上作者有时 会把某个函数拼错(大小写,以及字母顺序),比如PaltBlt 误写成 PallBlt,等等!


7,有时候,错误找不到!跟踪代码是主要的方法。但是有一次,我把视图颜色改为 鲜艳的黄色!而后就找到了问题所在:我的窗口指针是指向整个框架的,本来应该是指向某个分割子窗口的,从而发现了错误!   

相关文章推荐

windows核心编程系列学习记录1——错误处理

记录下自己的小小心得,转载注明出处!

C++网络编程_卷1_卷2 上传错误

  • 2009年11月25日 21:33
  • 13.81MB
  • 下载

Linux下C编程-----文件操作(1) 通过系统调用简单操作标准输入、标准输出、标准错误

Linux的 C系统调用操作  ,下面我们就来练习下 简单的系统调用操作 read系统调用测试 /***************************************************...

【ios编程报错处理-1】错误提示:App transport security has blocked a exceptions can be configured via your app's

更新到Xcode7后大部分会发现自己的项目的数据加载出现了问题,控制台提示: App transport security has blocked a exceptions can be confi...

Windows核心编程学习笔记(1)--显示GetLastError错误的详细信息

Drecik学习经验分享 转载请注明出处:http://blog.csdn.net/drecik__/article/details/8078785   使用函数FormatMessage函数来...

《UNIX网络编程 卷1》 笔记: 错误处理和包裹函数

为了处理程序运行中的系统调用错误和一般性错误(比如有时候需要输出错误消息,有时候需要输出错误消息并终止进程,有时当进程以后台方式运行时需要将错误消息记录到syslog),我们定义了一些通用的错误处理函...

Java编程思想第四版第十二章学习——通过异常处理错误(1)

使用异常带来的好处: 它降低了错误处理代码的复杂度。使用异常后,不需要检查特定的错误并在程序中的许多地方去处理它。因为异常机制将保证能够捕获这个错误且只需在一个地方处理错误,即异常处理程序中。 ...
  • Muc_hui
  • Muc_hui
  • 2016年07月12日 19:42
  • 414

Windows编程常见错误(1) 之 undefined reference to ***

undefined reference to `GetStosckObject' 与 undefined reference to `PlaySoundA@12'问题的解决方案...

linux应用编程笔记(1)gdb调试方法及如何找出dbg.c程序中的错误

摘要: 介绍了gdb调试器以及其使用流程,总结了常用的几个gdb调试命令,最后使用这些方法找出dgb.c文件中的错误。 一、gdb简介     gdb是gnu发布的一款功能强大的程序调试工...

c语言学习——编程时的错误及如何解决1

结构体是定义的时候初始化 查了翻译也看不懂,之后做了修改 没有错误! 就开始明白是我想要给结构体初始化的方式有了错误,特意去查如何进行结构体初始化 有如下几种 1.struct u...
  • Alter__
  • Alter__
  • 2016年12月04日 17:46
  • 91
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编程错误记录(1)
举报原因:
原因补充:

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