分享几十年来记录下的编程技巧

技巧

  1. VC下用TRACE(“。。%d”,j);可在调试窗口中显示变量值。

  2. 注意Sleep(1);和_sleep(1);的区别,前者是毫秒,后者是秒。_sleep(1)在VC下仍为毫秒,在UNIX下为秒,usleep(1)为微秒。

  3. Regsvr32.exe位于windows\system32目录下,可用来注册OCX控件。然后在VB视图菜单中的对象浏览器里就可以看到里面各种方法的调用形式和返回值类型。

  4. 使用static可以使变量值不会因为函数退出而丢失。

  5. Char file [16][18]定义一个字符串二维数组。注意个数是16,18;范围是0-15,0-17。

  6. Typedef struct DIR{…}DIR;DIRECTORY dir[16];新数据类型。

  7. Static char *JFEC[]={“A…”,“B…”,….}定义字符串数组。

  8. Memcpy,strcpy要求指针形参数,所以有些变量要定义成数组,char ch[1];

  9. VC6编辑器可以用Alt+F8方便地格式化源程序。

  10. Man select可以在linux下显示该函数的使用说明,man 2 mkdir专查函数。

  11. 通过VC中VIEW菜单中的debug window下的call stack,Alt+7,可以查找当前执行语句。

  12. Strcat(str1,str2)用于把str2添加到str1后面。

  13. 在字符串中查找一个子串用strstr(“xxabcxx”,”abc”);返回字符指针。

  14. 字符串拆分函数strtok,根据分割符拆分字符串。

  15. 在后台运行程序用“&”符号。例如:“./vecho&”。

  16. 通过定义extern int errno;并打印%s,strerror(errno)的办法可以显示出错原因。

  17. 在程序中如果要用到lib库文件,只要在程序嵌入以下语句即可。#pragma comment(lib,“WS2_32.LIB”)

  18. 使用动态库的时候,要把dll文件和可执行文件放在一起,比如:D:\2013\vtc\testSDK\Debug。

  19. ps kill 经常配对使用。

  20. 把case语句计较的分支定义成枚举类型,就可以直接case名称而不必是数值了。

  21. VS2012全编译时,先备份文件,然后在项目上右键选择属性,然后把配置属性常规中的MFC的使用设置成:在静态库中使用。再在“C/C++”的代码生成中把运行库设置成:多线程(MT)

  22. 在虚拟机或者串口终端这些命令行程序中,使用粘贴可以事半功倍,但不要用快捷键,免得当成了不可见字符,插在了命令行中。

  23. 需要IP地址和端口数据格式转换时,用inet_ntoa()做关键字检索,很快就能清楚了。

  24. 打印语句中,对于ulong类型数据要使用%llx的格式才能正确显示。

  25. 使用Ntohl,s;Htonl,s函数可以完成整数高低字节顺序转换。

  26. “rb+”,表示以读写方式打开二进制文件,b&t会影响到后面的读写函数。如果是文本方式,有可能读到0x00h就结束了。使用FILE *fp=fopen(file.Path,“rb”);读含有汉字的文本文件时要注意以"rb"方式而不是"r"方式,以免碰到某些汉字意外结束。

  27. 依靠出错信息的提示,上网查找问题答案,反复阅读教材,不要轻言放弃,坚持就是胜利。

  28. 新建项目编译文件的时候,找不到头文件,需要在项目属性、配置属性、VC目录、包含目录中,指定头文件所在的目录即可。

  29. VC中修改文本框中的默认值,可以通过在对话框程序文件中查找默认值的方法,找到后进行修改。

  30. 如果逻辑太复杂(双重循环里面两个以上的判断),就更换算法,不然调试更麻烦。

  31. 如果断点不可用,请禁用“工具”、“选项”、“调试”、“常规”下的选项“要求源文件原始版本完全匹配”。

  32. 要使用类中的成员变量,最简单的办法是把函数定义成类的方法,除了在类的开头声明方法以外,不要忘记在方法之前冠以类名和“::”。

  33. 如果遇到重连没有启动菜单,只有命令行窗口的状况,这时只要运行explorer程序,一切就能恢复正常了。

  34. 在WORD中,选中某字,点右键,可以查看拼音。

  35. 只要支持断点调试,就是容易学习的编程工具。

  36. 编程问题找百度,快速又直接。

  37. 笔记本通过热点连接互联网时需要注意一点。

  38. 在CB的工具菜单,编辑器选项中,选择键盘映射下的VS仿真,可以把快捷键改成VS模式。

  39. 在CB6生成单独可执行EXE时,需在project中的Option中选Linker,去掉user dynamic RTL,compiler中选择Release Packages中去掉Builder with run time packages即可。

  40. 如何理解傅里叶变换?

  41. 在VC下绘图可参考程序。

  42. 一段精湛的小代码,自动生成不会重名的日期时间文件。

  43. 一个值得借鉴的处理音频文件的例子程序。

  44. 兼顾精度和速度的算法

  45. inifile.cpp是一个比较常用的参数读取函数,在头文件里只有两读一写三个函数,使用起来还是比较方便的。

  46. 短整型转换运算一定要汲取这个教训。

  47. 通过左联合轻松实现编码到名称的替换。

  48. 结构与联合。

  49. 命令行通过参数启动程序也是C语言中main函数带参数用法。

  50. 闰年的条件

  51. 只用两个变量如何实现内容互换?

  52. 目前测试VS和UE下可通过按住Ctl的同时,使用鼠标滚轮可以改变显示字体的大小,对于大屏幕视力差的人很有用。

  53. INSTEAD OF ,FOR,AFTER三者触发的时机不同。

  54. C++编译或者链接出错时参考。

  55. 现场一定要使用运行版本而不是调试版本,不然会出现错误弹出框,等待手工确认的情况,除非使用了心跳技术,否则没有人工干预就无法控制了。

  56. 小心使用指针的案例。

  57. 如果远程连接时发生内部错误,可以通过windows+R运行cmd,netsh winsock reset,比禁用网络管用。

  58. 协议设计原则。

  59. TermView是不错的远程控制器。

  60. AlwaysUp v11.0是很好的程序监控(进程看护)软件。

  61. 发现问题以后的解决方法总结。

  62. 通过批处理文件实现大量启停程序,进行极限压力测试。

  63. 多个路由器组网需要注意事项。

  64. 总想用最小的代价,实现最大的功能,这就是导致程序出错的最根本原因。

  65. 多线程的三个关键字:启动延时长短不定,启动顺序不定,删除需要加锁。

  66. 软件开发高效步骤

  67. 电脑右键选择系统属性中的远程桌面去掉勾选下面的“口”仅允许运行使用网络级别身份验证的远程点面的计算机连接(建议)就可以使用XP远程连接WIN10。

  68. qq使用CTL+ALT+A组合键配合箭头工具和智能截图,可以快速指示操作方法。

  69. 需要嵌套查询时,最好使用in子句。

  70. 既然删除可以通过*指定从那张表中删除,尽量使用左连接减少冗余,才是正道。

  71. 使用日期时间记录运行状态时,分隔符使用|,后面添加关键字,便于将来程序分析。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值