c/c++一些容易遗忘的知识点(不断补充)

本文介绍了VC编程中的实用技巧,包括如何在调试状态下查看错误消息、编写Win32应用以避免依赖MSVC运行库的方法、解决网络编程中的定义重复问题、以及如何正确使用内联函数等内容。

1、c语言中函数不能使用缺省参数,c++才可以。

 

2、VC在调试状态下怎样查看错误消息(GetLastError())

  通常可以用GetLastError()得到错误编号然后用FormatMessage(...)得到错误描述。

  这里有一个更直接的办法:在Watch窗口添加@err,hr

 

3、VC中编写win32应用程序而不需要依赖MSVC运行库的方法:保证应用程序(exe)以及应用程序所包含的库(lib,dll等)都是在MTD(debug)或者MT(release)下面编译。vc中设置方法:项目->属性->配置属性->C/C++->代码生成->运行时库->多线程(/MTD)(debug下)或者多线程(/MT)(release下)。

 

4、在vc属性设置中,项目->属性->配置属性->链接器->显示进度->显示某些进度消息(/VERBOSE:LIB),这样就可以在编译链接程序过程中在输出窗口看到链接的顺序了,对于处理一些重复包含的库报错的问题有帮助。

 

5、win32网络编程中出现的定义重复问题。例如:

error    C2011:    “fd_set”    :    “struct”类型重定义   

error    C2011:    “timeval”    :    “struct”类型重定义   
等,这是因为头文件被包含了多次,

在默认windows.h会包含winsock.h,当你包含winsock2.h就会冲突,因此在包含windows.h前需要定义一个宏,去除winsock.h包含

添加如下代码:
#define    WIN32_LEAN_AND_MEAN   

#include   <windows.h>

 

6、内联函数:以内存空间换取执行时间;只是一般的函数体替换,对于一些经常性需要调用的函数(如工具函数)写成内联函数,可以加快调用速度。内联函数注意事项:不允许用循环语句和开关语句;内联函数定义必须包含函数体,这样才算是内联函数。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值