注释宏的概念 build Htonl和htons的区别

本文介绍了注释宏的概念及其在VC++6.0中ClassWizard中的应用,并解释了compile与build的区别,同时对比了Htonl和htons两个函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注释宏的概念

注释宏就是在两行特殊注释中定义的。如下:

//{{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.
编写文本代码,生成Ccpp文件,这时候它还是文本的;
2.
编译,就是compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为obj,此时它便是二进制的了;
3.
连接,在汇编里称link,在C里叫生成,即build,它的作用是生成可执行的exe文件。由于一个程序的源码可由多个文件组成。这些文件在第二步中分别编译,生成各自的目标文件(*.obj),这一步的作用便是将这些obj文件,以及程序中需要的其它库文件(dll除开),统一到一个文件中来,形成单个的exe文件。此exe文件便可以在操作系统下直接运行了。
上述第二步做完中间代码生成的工作后还有个代码优化,这里就不详讲了。
compile
build分别对应编译和连接这两个过程。

 

Htonlhtons的区别  他们都是将整形变量的主机字节数变为网络字节数,只是一个是短的整形(16位),一个是长的整形(32位。)

||=== Build: Debug 在 server 中 (编译器: GNU GCC Compiler) ===| D:\学习\计网\TCP\server\main.cpp|6|warning: ignoring #pragma comment [-Wunknown-pragmas]| D:\学习\计网\TCP\server\main.cpp||In function 'int main()':| D:\学习\计网\TCP\server\main.cpp|15|warning: unused variable 'sin_size' [-Wunused-variable]| obj\Debug\main.o||In function `main':| D:\学习\计网\TCP\server\main.cpp|18|undefined reference to `__imp_WSAStartup'| D:\学习\计网\TCP\server\main.cpp|24|undefined reference to `__imp_socket'| D:\学习\计网\TCP\server\main.cpp|26|undefined reference to `__imp_WSACleanup'| D:\学习\计网\TCP\server\main.cpp|34|undefined reference to `__imp_htonl'| D:\学习\计网\TCP\server\main.cpp|35|undefined reference to `__imp_htons'| D:\学习\计网\TCP\server\main.cpp|38|undefined reference to `__imp_bind'| D:\学习\计网\TCP\server\main.cpp|40|undefined reference to `__imp_closesocket'| D:\学习\计网\TCP\server\main.cpp|41|undefined reference to `__imp_WSACleanup'| D:\学习\计网\TCP\server\main.cpp|46|undefined reference to `__imp_listen'| D:\学习\计网\TCP\server\main.cpp|48|undefined reference to `__imp_closesocket'| D:\学习\计网\TCP\server\main.cpp|49|undefined reference to `__imp_WSACleanup'| D:\学习\计网\TCP\server\main.cpp|57|undefined reference to `__imp_accept'| D:\学习\计网\TCP\server\main.cpp|62|undefined reference to `__imp_inet_ntoa'| D:\学习\计网\TCP\server\main.cpp|65|undefined reference to `__imp_recv'| D:\学习\计网\TCP\server\main.cpp|75|undefined reference to `__imp_send'| D:\学习\计网\TCP\server\main.cpp|78|undefined reference to `__imp_closesocket'| ||error: ld returned 1 exit status| ||=== 构建 失败: 17 error(s), 2 warning(s) (0 分, 0 秒) ===| 出现以上问题,如何解决
最新发布
05-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值