#if !defined(AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_)
#define AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000#include <winsock2.h>#ifdef USE_DLL
#define _DLL __declspec(dllexport)
#else
#define _DLL __declspec(dllimport)
#endifclass _DLL CMySocket
{};#endif // !defined(AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_)本程序的前两行有什么意义?
AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_)这个长串如何获得?附:3-5行语句又是什么意思?
#define AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000#include <winsock2.h>#ifdef USE_DLL
#define _DLL __declspec(dllexport)
#else
#define _DLL __declspec(dllimport)
#endifclass _DLL CMySocket
{};#endif // !defined(AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_)本程序的前两行有什么意义?
AFX_MYSOCKET_H__62EF0485_0AA8_4DA1_8966_8B3ECA4A9E83__INCLUDED_)这个长串如何获得?附:3-5行语句又是什么意思?
解决方案 »
- compiler limit : internal heap limit reached; use /Zm , 编译怎么也同不过了...无论怎么修改Zm大小
- 如何实现以逗号隔开组成多值字段查询
- 编译后运行,出现debug assertion failed!错误。
- SQL Server2005中新建存储过程
- 高手请进,在VC如何做一个控件,供C#调用,放到IE浏览器上?
- 如何得到LIST的焦点?谢谢
- 初学sdk:对话框中的编辑控件得不到键盘焦点,必须用鼠标点一下该控件,才可以输入。请各位指导!
- 请教各位怎么样如何进行文件操作
- No mapping between account names and security IDs was done.调用GetLastError,显示这个错误,怎么解决
- 既然QueryInterface已经可以查询接口了,那什么时候需要实现IConnectionPoint?
- 在2个CEdit之间用鼠标拖放来复制内容,触发的好象不是WM_COPY、WM_PASTE和WM_DROPFILES消息,那是什么消息?
- 分数给高一点,关于Com的CoGetClassObject
这样生成的宏是唯一的3-5行则是申明版本时字节对齐技术都是预编译的关键字
3---5行:
MS:Microsoft(微软)的简写 C:MSC就是Microsoft出的C编译器。 VER:Version(版本)的简写。 编译器版本>1000的时候,这个文件只编译一次
#define _XXXX_Hclass{
};#endif /* _XXXX_H */
#define TEST_H
你也可以自己定义,一般就像楼上说的,以自己的头文件为宏名称
#ifndef XXX_H //XXX.h头文件
#define XXX_H
...//在这里声明一些变量,类,方法等等,这样如果多个文件引入你的头文件时,但检索到XXX_H定义过了,那么这里的声明就不会再被重复声明了#endif