您的位置:首页 > 编程语言 > C语言/C++

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

2010-12-31 15:40 239 查看
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、内联函数:以内存空间换取执行时间;只是一般的函数体替换,对于一些经常性需要调用的函数(如工具函数)写成内联函数,可以加快调用速度。内联函数注意事项:不允许用循环语句和开关语句;内联函数定义必须包含函数体,这样才算是内联函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: