程序是调出来的之不要想当然1

       这两天在调试libjingle,需要用到expat解析xml,vs2008版本登录openfire无任何问题,vs2010死活登录不上,调试,跟踪,最后发现

      ExpatStartElement(name, atts);

      函数里面的获取的name,atts只有第1个字符,
     上一层就是这个XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);函数造成的,在跟踪就是expat的lib库了。


思路: 自己直接把vs2008的expat库 放到vs2010里面使用了。



问题: 很多问题自己给自己造成的,程序是调出来的,除了一般的结构设计,代码就是调试,vs之类就是工具,用好watch,堆栈等

       

题外话:

1.忘记你那些固有的观念,忘记你那些所谓的某某语言,忘记你那些高级的低级的垃圾程序,如果你是在编码而不是在设计,熟悉手头的工具,vs,gcc,gdb它们会为你做它们该做好的事,F5,F11,F10,b,c,p,bt等。工具就是工具。不要用你的脑子做工具做的事。

2.对于自己写的代码,如果是面向过程的,某某函数,从main开始,执行必须是一步一步;而c++之类对象可能多态执行,基类在执行时才知道用了那个子类对象。但至少是可以追溯的。而如上面的问题,我们做事的时候,加入一个expat库,加入一个directshow库,加入一个python支持,加入一个别的什么,寻找问题的时候我们却忘记了这些。这个过程和定义一个变量,执行一个函数,你的定义必须正确,你的声明必须可用,又有什么区别。可是很多人都出问题在前者,因为后者才是写代码,才是程序员。而我觉得这才是最大的问题。

3.程序不像年轻的感情一样,说是莫名其妙爱上了,而它是理性的逻辑,不懂就学,但我喜欢离的远点去欣赏。所以我不是高手。

      浅见为了加深理解。

      


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值