1.【StructLayout】

控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列。如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的。

2.[MarshalAs]

告诉CLI,这个函数返回值占几个字节

1和2用于C#调用C++ 的DLL

3.

__declspec(dllexport)

用于VC++. 指示编译器自动生成导出名并将它们放到一个 .lib 文件中。然后,此 .lib 文件就可以像静态 .lib 那样用于与 DLL 链接。

在更新的编译器版本中,可以使用 __declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。             __declspec(dllexport) 会将导出指令添加到对象文件中,因此您不需要使用 .def 文件。

生成 DLL 时,通常创建一个包含正在导出的函数原型和/或类的头文件,并将 __declspec(dllexport) 添加到头文件中的声明中。  若要提高代码的可读性,请为 __declspec(dllexport) 定义一个宏并对正在导出的每个符号使用该宏:

4.[flags]

Flags只是标明当前枚举可以位操作.可以说 不需要0x这个玩意

5[GUID]

05-11 13:23