注释宏的概念
注释宏就是在两行特殊注释中定义的宏。如下:
//{{AFX_MSG(CDrawView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
在VC++6.0中用ClassWizard自动生成的,定义的宏就生成在像上面的两行注释中,这是让ClassWizard能够分辨出哪些代码是它自动生成的哪些是你写的。
如果宏定义在这两行代码外面,ClassWizard再修改消息映射的时候就不会管这个宏了。
注释宏是为ClassWizard服务的,ClassWizard可以通过它找到类的消息映射所在的地方。
vc++6.0中的compile按钮和build按钮有什么区别?
一个C/C++程序的生成要经历以下步骤:
1.编写文本代码,生成C或cpp文件,这时候它还是文本的;
2.编译,就是compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为obj,此时它便是二进制的了;
3.连接,在汇编里称link,在C里叫生成,即build,它的作用是生成可执行的exe文件。由于一个程序的源码可由多个文件组成。这些文件在第二步中分别编译,生成各自的目标文件(*.obj),这一步的作用便是将这些obj文件,以及程序中需要的其它库文件(dll除开),统一到一个文件中来,形成单个的exe文件。此exe文件便可以在操作系统下直接运行了。
上述第二步做完中间代码生成的工作后还有个代码优化,这里就不详讲了。
compile、build分别对应编译和连接这两个过程。
Htonl和htons的区别 他们都是将整形变量的主机字节数变为网络字节数,只是一个是短的整形(16位),一个是长的整形(32位。)